所以,我想提出一個程序做兩件事情:的Python:讀UTF - 從的raw_input 8()寫作UTF - 在文件8
- 讀取字
- 讀取翻譯希臘
然後,我製作了一個如下所示的新格式:"word,translation"
並且我正在將它寫入文件。
所以test.txt文件應該包含"Hello,Γεια"
,如果我再讀一遍,下一行應該放在這個下面。
word=raw_input("Word:\n") #The Word
translation=raw_input("Translation:\n").decode("utf-8") #The Translation in UTF-8
format=word+","+translation+"\n"
file=open("dict.txt","w")
file.write(format.encode("utf-8"))
file.close()
的錯誤,我得到:
的UnicodeDecodeError「utf8'codec不能在位置0解碼字節爲0x82:無效的起始字節
編輯:這是Python的22
添加完整的錯誤信息,以便我們看到哪一行有問題。你在窗戶上嗎?什麼是'sys.getdefaultencoding()'。考慮到可憐的Unicode支持是Python 3發明的原因之一,爲什麼在世界上實現這個糟糕的舊Python 2?! – tdelaney
您應該轉向Python 3,它對Unicode有更好的支持。 – ForceBru
呵呵,什麼是'sys.stdin.encoding'?你可能想要執行'raw_input(..)。decode(sys.stdin.encoding)'來使它工作。 – tdelaney