Je suis en train d'écrire un script en python pour convertir les fichiers utf-8 dans des fichiers ASCII:script Python pour convertir UTF-8 en 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()
Quand je lance ce script, j'ai l'erreur suivante :
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 13: ordinal not in range(128)
Je pensais que peut ignorer l'erreur avec le paramètre ignorer dans la méthode encode. Mais ça ne semble pas.
Je suis ouvert à d'autres façons de convertir.
Le problème est que vous ne décoderez jamais en premier lieu. –
Vous avez reçu l'erreur car le caractère n'existe pas dans le jeu de caractères ASCII, il ne peut donc pas être converti. Parfois, vous pouvez mapper le caractère UTF8 à un caractère visuel le plus proche en ASCII, comme 'é' à' e', mais cela peut changer la signification des mots. Vous devez décider si ce chemin fonctionnera pour votre application. –
Cela semble être une très mauvaise idée !! – tchrist