0
我覺得張貼這樣一個絕對的白癡...Python的Unicode字節解碼從文件
所以,我正在做一個文件crypter讀取一個文本文件,它輸出到一個加密的文件,然後允許您將該文件重新轉換爲純文本。我已經寫下了這個文件,但是讀它是一個問題。
從加密:
newf.write(bytes(result[0], "utf-8"))
newf.write(bytes('{[:|:;:|:]}'))
newf.write(bytes(result[1], "utf-8"))
newf.close()
而且還解密:
name = fudder.askopenfilename(defaultextension =("Text Files","*.txt"),title = "Choose a file to decrypt.")
with open(name,'rb') as Usefile:
filecont = bytes(Usefile.read(),'utf-8')
它帶來了這個錯誤:
File "C:\STUFF\FILE.py", line 93, in <lambda>
self.fileO = Button(text = 'Decrypt File', command = lambda: cryptFile())
File "C:\STUFF\FILE.py", line 60, in cryptFile
filecont = Usefile.read()
File "C:\Program Files (x86)\Python35-32\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 68: character maps to <undefined>
看看'codecs.open'(https://docs.python.org/2/library/codecs.html?highlight=open#codecs.open)。它應該允許您在打開文件時指定unicode編碼,然後透明地讀取其內容。 –
這是Python 2還是3?你得到的錯誤不是來自你顯示的代碼? 'filecont = Usefile.read()。decode('utf-8')'工作嗎? – tdelaney
你應該能夠爲這個問題編寫一個可運行的例子。如果我們要測試一個解決方案,這意味着我們必須編寫一個... – tdelaney