J'ai vérifié si Python pouvait déterminer automatiquement le code du caractère et j'ai pris une note.
C'était facile à faire avec un paquet appelé chardet
.
Usage — chardet 2.3.0 documentation
test.py
from chardet.universaldetector import UniversalDetector
def check_encoding(file_path):
detector = UniversalDetector()
with open(file_path, mode='rb') as f:
for binary in f:
detector.feed(binary)
if detector.done:
break
detector.close()
print(detector.result, end='')
print(detector.result['encoding'], end='')
def main():
check_encoding('/path/to/sjis.txt')
check_encoding('/path/to/utf8.txt')
if __name__ == '__main__':
main()
Exemple de sortie
$ python test.py
{'encoding': 'CP932', 'confidence': 0.99}
CP932
{'encoding': 'utf-8', 'confidence': 0.99}
utf-8
Veuillez noter que cela peut prendre un certain temps pour déterminer s'il s'agit d'un fichier volumineux. (Le «Détecteur universel» ci-dessus semble se terminer dès qu'il peut être déterminé)
Jugement d'encodage en Python --Qiita Usage — chardet 2.3.0 documentation
Recommended Posts