在Python 3中,我們使用"string".encode()
和"string".decode()
將Unicode字符串轉換爲字節字符串,或將字符串轉換爲Unicode字符串。Python中的編碼/解碼有什麼區別2/3
在Python 2中,我們有str()
和unicode()
,我們也可以給他們encode()
和decode()
給他們。但是,Python 3有什麼區別嗎?
在Python 3中,我們使用"string".encode()
和"string".decode()
將Unicode字符串轉換爲字節字符串,或將字符串轉換爲Unicode字符串。Python中的編碼/解碼有什麼區別2/3
在Python 2中,我們有str()
和unicode()
,我們也可以給他們encode()
和decode()
給他們。但是,Python 3有什麼區別嗎?
在python2中,str是字節字符串,unicode是unicode字符串。但有些編碼和解碼的愚蠢的東西,詳細信息請參考http://nedbatchelder.com/text/unipain.html
Python 3.x具有完整的UTF8支持。這意味着Python 2.x可能會產生錯誤的轉換,或者在轉換UTF8時會遇到問題(使用'str()'的專業)。我有片假名在Python 2.7中使用的可怕經驗。我總是使用二進制/十六進制轉換來解決解碼問題上的代碼崩潰問題。 – 2013-03-11 09:35:58
聽起來很糟糕。我正在開發一個帶有CJK字符的網絡程序。所以,我應該留意以下幾點:1.用戶輸入,2.字符串操作3.發送到Web服務器。我想將一個Python 2 SDK移植到Python 3,但是我發現我無法理解''用'str()'和'unicode()'編碼()'和decode()',所以我問了這個問題...... – 2013-03-11 09:56:37