讀取數據時運行的Python程序,從標準輸入讀取時UnicodeEncodeError,我得到以下錯誤:的Python:從標準
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 2010-03-18 06:38:03
我在上面添加了它.... – hansfbaier 2010-03-18 06:54:49
請注意*正確*解析TeX與除TeX之外的其他任何東西都將是不可能的。 – 2010-03-18 07:06:41