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 ++?
encadan chardetuntuk sistem POSIX.
iconvkhususnya 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.
chardetatau chardetecttidak tersedia di sistem Anda, maka Anda dapat menginstal paket melalui manajer paket Anda (misalnya apt search chardet- di ubuntu / debian paket biasanya disebut python-chardetatau python3-chardet) atau melalui pip dengan pip install chardet(atau pip install cchardetuntuk versi c-dioptimalkan lebih cepat).