python默認編碼格式是utf-8。在python2.7中,可以通過sys.setdefaultencoding('gbk')設定默認編碼格式,而在python3.3中sys.setdefaultencoding()這個函數已經沒有了。在python3.3中該如何設置內置的默認編碼格式?。〖鼻螅。?!
(類似于“#coding:gbk”這種就不必來說了。能讓import sys print(sys.getdefaultencoding())輸出“gbk“的大神請進?。。。?/p>
python 3和2很大區別就是python本身改為默認用unicode編碼。
字符串不再區分"abc"和u"abc", 字符串"abc"默認就是unicode,不再代表本地編碼、
由于有這種內部編碼,像c#和java類似,再沒有必要在語言環境內做類似設置編碼,比如“sys.setdefaultencoding”;
也因此也python 3的代碼和包管理上打破了和2.x的兼容。2.x的擴展包要適應這種情況改寫。
另一個問題是語言環境內只有unicode怎么輸出gbk之類的本地編碼。
答按慣例都在(序列化)輸出時才轉換成本地編碼。
比如
file.write("GBK的中文".encode("GBK"))
python環境內字符串用str.encode("GBK")方法輸出成字節串用于和其他環境交流。
以上這篇python3 中文亂碼與默認編碼格式設定方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答