Sur mon système de fichiers (Windows 7), j'ai des fichiers texte (ce sont des fichiers de script SQL, si cela compte).
Lorsqu’il est ouvert avec Notepad ++ , dans le menu "Encodage", il est signalé que certains d’entre eux possèdent un encodage de "UCS-2 Little Endian" et d’autres de "UTF-8 sans BOM".
Quelle est la différence ici? Ils semblent tous être des scripts parfaitement valides. Comment savoir quels sont les encodages du fichier sans Notepad ++?
encaet chardetpour les systèmes POSIX.
iconven particulier est utile à cet effet. Essentiellement, vous parcourez les chaînes / caractères de caractères corrompus à travers différents codages pour voir celui qui fonctionne. Vous gagnez, quand les personnages ne sont plus corrompus. J'aimerais répondre ici, avec un exemple de programmation. Mais c'est malheureusement une question protégée.
chardetou chardetectn'est pas disponible sur votre système, vous pouvez installer le paquet via votre gestionnaire de paquets (par exemple apt search chardet- sous Ubuntu / debian, le paquet est généralement appelé python-chardetou python3-chardet) ou via pip avec pip install chardet(ou pip install cchardetpour la version plus rapide de c-optimisée).