Python的字符串編碼

中文,真是中國人的痛啊(在編程方面),在Python的世界了,也是如此。
這裏簡單記錄一下這兩天的"痛“,以免忘記(好像是人的天性),同時如果有類似的,也可以作爲參考。
簡單說一下,目前對python的串的瞭解。str和unicode是完全不一樣的東西,從名字就可以看出,呵呵,不過他們都是從basestring而來,所有有相同的一些行爲,如果要判斷是string的話,應該使用isinstance(obj,basestring).
一般來說str是跟環境有很大關係的,比如你的操作系統編碼,終端/命令行所支持的編碼等等。出現”UnicodeEncodeError: 'ascii' codec can't encode characters in position" 這樣的異常,多數是跟str相關的。unicode在這方面,表現很好。
str和unicode的轉換,也是老掉牙的encode/decode。
[list]
[*]str->unicode is decode
[*]unicode->str is encode
[/list]
我碰到的問題是,收到一個帶有utf8編碼的unicode,但是我現在需要將其unicode的內容原封不動的轉成str,這樣我就可以在str使用utf8的編碼操作了。非常簡單的操作,.encode('iso-8859-1')就可以了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章