kali - Script de Python para convertir de UTF-8 a ASCII
linux convert file to base64 (3)
Esta pregunta ya tiene una respuesta aquí:
- Convertir Unicode a ASCII sin errores en Python 11 respuestas
Estoy tratando de escribir un script en python para convertir archivos utf-8 en archivos 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()
Cuando ejecuto este script tengo el siguiente error:
UnicodeDecodeError: el codec ''ascii'' no puede decodificar el byte 0xef en la posición 13: ordinal no está en el rango (128)
Pensé que puede ignorar el error con el parámetro ignorar en el método de codificación. Pero parece que no.
Estoy abierto a otras formas de convertir.
UTF-8 es un superconjunto de ASCII. Su archivo UTF-8 es ASCII, o no se puede convertir sin pérdida.
data="UTF-8 DATA"
udata=data.decode("utf-8")
asciidata=udata.encode("ascii","ignore")
import codecs
...
fichier = codecs.open(filePath, "r", encoding="utf-8")
...
fichierTemp = codecs.open("tempASCII", "w", encoding="ascii", errors="ignore")
fichierTemp.write(contentOfFile)
...