Wpis z mikrobloga

Mam problem z kodowaniem plików tekstowych. Wykorzystałem #chatgpt, żeby mi zrobił skrypt do tworzenia pliku z dwóch różnych plików. Konkretnie kopiuje kolejne wiersze z pierwszego pliku, zamieniając 2, 4 i 5 kolumnę na kolumnę z drugiego pliku.
Pliki są plikami z kodami z dwóch różnych kas fiskalnych sharp. Nie mają rozszerzenia txt ale w notatniku++ normalnie się odczytują jako pliki z tekstem. Problem polega na tym, że pliki zawierają polskie znaki. Skryptem odczytałem, że kodowanie to Windows 1252 jednakże podobno nie ma a tym kodowaniu niektórych polskich znaków. Ten skrypt łączący dane z dwóch plików używa UTF-8, ale po konwersji na Windows 1252 wiadomo polskie znaki znikają. Jak zatem możliwe jest aby te pliki miały kodowanie Windows 1252 i zawierały polskie znaki ?
Głównym problemem, jest to że jak potem próbuję wczytać kody do kasy to wyskakuje błąd przy każdym polskim znaku i dopiero jak je usunę to kasa wczytuje normalnie.
aha no i nie jestem żadnym programistą, nie mam doświadczenia ale szukam odpowiedzi czy można sobie jakoś z tym poradzić ( ͡° ͜ʖ ͡°)
#programowanie #python #chatgpt
  • 5
  • Odpowiedz
@roszej: co chcesz dokładnie uzyskać. Najprościej byłoby zamienić polskie znaki na zachodnie odpowiedniki, jeśli to nie jest problem. Jeśli kodowanie nie wspiera znaków to co to za problem, skoro na wejściu twojego programu masz tekst z kasy fiskalnej, który tych znaków i tak nie rejestruje. Formułując inaczej: skąd pojawiają się problematyczne polskie znaki, skoro kasa ich nie generuje?
  • Odpowiedz
  • 0
@n0c0Mpr3h3nD bo inaczej wyskakiwał błąd.

@Saly no właśnie na kasie fiskalnej są polskie znaki. Po odczytaniu danych dedykowanym programem można je zachować w w pliku. Plik ten potem można sobie zmodyfikować nawet w notatniku, byle tylko była zachowana struktura. I jak pisałem plik ma normalnie polskie znaki i skrypt sprawdzający wskazuje kodowanie jako windows 1252, jednakże gdy potem próbuję przekonwertować ten plik który został stworzony wcześniej (z dwóch plików) z UTF 8
  • Odpowiedz