W moim systemie plików (Windows 7) mam kilka plików tekstowych (jeśli są to pliki skryptowe SQL).
Po otwarciu za pomocą Notepad ++ , w menu „Kodowanie” niektóre z nich mają kodowanie „UCS-2 Little Endian”, a niektóre „UTF-8 bez BOM”.
Jaka jest tutaj różnica? Wszystkie wydają się być całkowicie poprawnymi skryptami. Jak mogę określić, jakie kodowania ma plik bez Notepad ++?
encai chardetdla systemów POSIX.
iconvw szczególności jest przydatny do tego celu. Zasadniczo iterujesz uszkodzone ciągi znaków / tekst przez różne kodowania, aby zobaczyć, który z nich działa. Wygrywasz, gdy postacie nie są już zepsute. Chciałbym tutaj odpowiedzieć, podając programowy przykład. Ale to niestety pytanie chronione.
chardetlub chardetectnie jest dostępny w twoim systemie, możesz zainstalować pakiet za pomocą menedżera pakietów (np. apt search chardet- na Ubuntu / debian pakiet jest zwykle wywoływany python-chardetlub python3-chardet) lub przez pip z pip install chardet(lub pip install cchardetdla szybszej wersji zoptymalizowanej pod kątem c).