При запуске программы на Python, который читает из стандартного ввода, я получаю следующее сообщение об ошибке:Python: UnicodeEncodeError при чтении из стандартного ввода
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 320: ordinal not in range(128)
Как я могу это исправить?
Примечание: ошибка внутренней по отношению к Antlr и линия выглядит следующим образом:
self.strdata = unicode(data)
Поскольку я не хочу, чтобы изменить исходный код, я хотел бы передать в чем-то, что является приемлемым ,
Введенный код выглядит следующим образом:
#!/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()
Каков ваш код для входа? – kennytm
Я добавил его выше .... – hansfbaier
Обратите внимание, что * правильно * разбор TeX с чем-либо, кроме TeX, будет почти невозможным. –