我想了解python中的編碼內容,我想我幾乎管理它來理解。因此,這裏是一些代碼,我會解釋,我想請你來驗證我的想法:)Python:關於編碼的問題
text = line.decode(encoding)
print "type(text) = %s" % type(text)
iso_8859_1 = text.encode('latin1')
print "type(iso_8859_1) = %s" % type(iso_8859_1)
unicodeStr = text.encode('utf-8')
print "type(unicodeStr) = %s" % type(unicodeStr)
所以第一線
text = line.decode(encoding)
不變換編碼「編碼」給出一個給定的字符串轉換成Python的unicode文本格式。因此,輸出
type(text) = <type 'unicode'>
所以,現在,我用原文從我在UTF-8編碼風格文件和我的代碼「文本」的其餘部分是UTF-8文本。
現在我想轉換(爲什麼有理由)utf-8文本轉換成一些其他的東西,例如latin1由「text.encode('latin1')」完成。我的代碼在這種情況下,輸出是
type(iso_8859_1) = <type 'str'>
type(unicodeStr) = <type 'str'>
現在,這仍然是我的唯一問題是:爲什麼是後兩種情況下「STR」的類型,而不是「latin1的」或「統一」。這就是我還不清楚的地方。
後面的字符串「iso_8859_1」和「unicodeStr」是不是用「latin1」或「unicode」resprectivly編碼的?
在閱讀鏈接的文章之後,你應該知道足夠多的知道剩下的內容。開始接受並提升幫助你的人。 – wberry
感謝您的鏈接。我現在完全明白髮生了什麼事! – toom