Cuando se ejecuta un programa de Python que lee de la entrada estándar, me sale el siguiente error:Python: UnicodeEncodeError cuando se lee de la entrada estándar
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 320: ordinal not in range(128)
¿Cómo puedo solucionarlo?
Nota: El error se produce interno para Antlr y la línea que se parece a:
self.strdata = unicode(data)
Ya que no desea modificar el código fuente, me gustaría pasar en algo que es aceptable .
El código de entrada se ve así:
#!/usr/bin/python
import sys
import codecs
import antlr3
import antlr3.tree
from LatexLexer import LatexLexer
from LatexParser import LatexParser
char_stream = antlr3.ANTLRInputStream(codecs.getreader("utf8")(sys.stdin))
lexer = LatexLexer(char_stream)
tokens = antlr3.CommonTokenStream(lexer)
parser = LatexParser(tokens)
r = parser.document()
¿Cuál es su código para la entrada? – kennytm
Lo agregué antes .... – hansfbaier
Tenga en cuenta que * correctamente * analizar TeX con cualquier cosa que no sea TeX será casi imposible. –