J'essaie d'écrire un script en python pour convertir les fichiers utf-8 en fichiers ASCII:
#!/usr/bin/env python
# *-* coding: iso-8859-1 *-*
import sys
import os
filePath = "test.lrc"
fichier = open(filePath, "rb")
contentOfFile = fichier.read()
fichier.close()
fichierTemp = open("tempASCII", "w")
fichierTemp.write(contentOfFile.encode("ASCII", 'ignore'))
fichierTemp.close()
Lorsque j'exécute ce script, j'ai l'erreur suivante:
UnicodeDecodeError: le codec 'ascii' ne peut pas décoder l'octet 0xef en position 13: l'ordinal n'est pas dans la plage (128)
Je pensais que cela pouvait ignorer l'erreur avec le paramètre ignore dans la méthode d'encodage. Mais ça ne semble pas.
Je suis ouvert à d'autres façons de convertir.
data="UTF-8 DATA"
udata=data.decode("utf-8")
asciidata=udata.encode("ascii","ignore")
UTF-8 est un sur-ensemble d'ASCII. Soit votre fichier UTF-8 est ASCII, soit il ne peut pas être converti sans perte.
import codecs
...
fichier = codecs.open(filePath, "r", encoding="utf-8")
...
fichierTemp = codecs.open("tempASCII", "w", encoding="ascii", errors="ignore")
fichierTemp.write(contentOfFile)
...