Pada sistem file saya (Windows 7) saya memiliki beberapa file teks (Ini adalah file skrip SQL, jika itu penting).
Ketika dibuka dengan Notepad ++ , di menu "Encoding" beberapa dari mereka dilaporkan memiliki encoding "UCS-2 Little Endian" dan beberapa "UTF-8 tanpa BOM".
Apa bedanya di sini? Semua itu tampaknya merupakan skrip yang benar-benar valid. Bagaimana saya bisa tahu pengkodean apa yang dimiliki file tanpa Notepad ++?
enca
dan chardet
untuk sistem POSIX.
iconv
khususnya berguna untuk tujuan ini. Pada dasarnya Anda mengulang string karakter yang rusak / teks melalui pengkodean yang berbeda untuk melihat mana yang bekerja. Anda menang, ketika karakter tidak lagi rusak. Saya ingin menjawab di sini, dengan contoh programatik. Namun sayangnya pertanyaan ini dilindungi.
chardet
atau chardetect
tidak tersedia di sistem Anda, maka Anda dapat menginstal paket melalui manajer paket Anda (misalnya apt search chardet
- di ubuntu / debian paket biasanya disebut python-chardet
atau python3-chardet
) atau melalui pip dengan pip install chardet
(atau pip install cchardet
untuk versi c-dioptimalkan lebih cepat).