不管什么語言,編碼都是一件很麻煩的事,優雅的python也顯得狼狽不堪,這里講解下python編碼問題,個人總結,僅供參考:
在python中,PRint語句應該是將一個字符串的二進制流輸出到顯示器或者指定的軟件上,因而print這個語句是不對字符串進行任何編碼的,所以有編碼問題就沒print語句的事兒了。
例如:print "我愛你" 將這個語句保存到python文件中,若文件用utf-8編碼,則在文件頭注釋#coding=utf-8即可,這個注釋的功能是讓解釋器以uft-8的編碼解析文件,
若文件以ACSSI編碼保存,則使用#coding=utf-8依舊會錯誤,除非把字符串轉碼,"我愛你".decode("ACSSI").encode("uft-8"),這樣“我愛你”的二進制流就是utf-8編碼而不是ACSSI編碼,顯示器(軟件)能正常解析了。
decode是把一個字符串按你提供的參數解碼成UNICODE編碼,encode是將UNICODE編碼成你指定的編碼
參考資料:http://blog.chinaunix.net/uid-27838438-id-4227131.html
新聞熱點
疑難解答