bytes_string=part.get_payload(decode=False)
有效載荷來作爲一個字節串讀一個XML郵件附件,因爲我的變量名稱所暗示的。
我想使用推薦的Python 3方法將此字符串轉換爲可操縱的可用字符串。
的例子顯示:
str(b'abc','utf-8')
如何申請的b
(字節)關鍵字參數到我的變量bytes_string
,使用推薦的方法呢?
我試圖不工作的方式:在bytes
實例
str(bbytes_string, 'utf-8')
bytes_string=part.get_payload(decode=False)
有效載荷來作爲一個字節串讀一個XML郵件附件,因爲我的變量名稱所暗示的。
我想使用推薦的Python 3方法將此字符串轉換爲可操縱的可用字符串。
的例子顯示:
str(b'abc','utf-8')
如何申請的b
(字節)關鍵字參數到我的變量bytes_string
,使用推薦的方法呢?
我試圖不工作的方式:在bytes
實例
str(bbytes_string, 'utf-8')
你在最後一行中已經接近了正確的位置。你想
str(bytes_string, 'utf-8')
因爲bytes_string
類型爲bytes
,一樣的b'abc'
類型。
呼叫decode()
得到它編碼的文本。
str = bytes.decode()
更新:
TO NOT HAVE ANY
b
and quotes at first and end
當你的代碼可能有面目全非字符'utf-8'
編碼, 最好是隻使用STR無需任何額外的參數:
bad_bytes = b'\x02-\xdfI#)'
text = str(bad_bytes)[2:-1]
如果添加'utf-8'
參數,對於這些特定字節,您應該會收到錯誤。
正如PYTHON 3標準所說,text
現在不在使用UTF-8。
結果是「b'\\ x02 - \\ xdfI#)'」這可能不是他想要的 –
@GlenThompson它只是一個可能發生的不想要的情況的例子。我故意使用這個特定的文本。如果你的意思是文本首先有一個'b',那麼我更新了答案 –
所以非常感謝我正在尋找一種方法來刪除一個字符串的字符串,該字符串具有ansi字符而沒有編碼和丟失字符,我'新的蟒蛇,不知道我可以減少從開始和開始使用索引數組:O –
UnicodeDecodeError:'utf-8'編解碼器無法解碼位置230中的字節0xf6:無效起始字節 –
@JuhaUntinen您的編碼可能不是utf-8。 –
如何從數組中過濾(跳過)非UTF8字符? –