Débuter avec l'encodage

Comment détecter l’encodage d’un fichier texte avec Python ?

Il existe un package utile en Python - chardet, qui permet de détecter l’encodage utilisé dans votre fichier. En fait, aucun programme ne peut dire avec 100% de confiance quel encodage a été utilisé - c’est pourquoi chardet donne l’encodage avec la probabilité la plus élevée avec laquelle le fichier a été encodé. Chardet peut détecter les encodages suivants :

  • ASCII, UTF-8, UTF-16 (2 variantes), UTF-32 (4 variantes)
  • Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (chinois traditionnel et simplifié)
  • EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (japonais)
  • EUC-KR, ISO-2022-KR (coréen)
  • KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (cyrillique)
  • ISO-8859-2, windows-1250 (hongrois)
  • ISO-8859-5, windows-1251 (bulgare)
  • windows-1252 (Anglais)
  • ISO-8859-7, windows-1253 (grec)
  • ISO-8859-8, windows-1255 (hébreu visuel et logique)
  • TIS-620 (thaï)

Vous pouvez installer chardet avec une commande [pip][1] :

pip install chardet

Ensuite, vous pouvez utiliser chardet soit dans la ligne de commande :

% chardetect somefile someotherfile
somefile: windows-1252 with confidence 0.5
someotherfile: ascii with confidence 1.0

ou en python :

import chardet    
rawdata = open(file, "r").read()
result = chardet.detect(rawdata)
charenc = result['encoding']

[1] : https://www.wikiod.com/fr/python/debuter-avec-le-langage-python#Installer des modules externes à l’aide de pip

Installation ou configuration

Instructions détaillées sur la configuration ou l’installation de l’encodage.