python默認(rèn)編碼格式是utf-8。在python2.7中,可以通過(guò)sys.setdefaultencoding('gbk')設(shè)定默認(rèn)編碼格式,而在python3.3中sys.setdefaultencoding()這個(gè)函數(shù)已經(jīng)沒(méi)有了。在python3.3中該如何設(shè)置內(nèi)置的默認(rèn)編碼格式啊!急求!!!
(類(lèi)似于“#coding:gbk”這種就不必來(lái)說(shuō)了。能讓import sys print(sys.getdefaultencoding())輸出“gbk“的大神請(qǐng)進(jìn)!!!)
python 3和2很大區(qū)別就是python本身改為默認(rèn)用unicode編碼。
字符串不再區(qū)分"abc"和u"abc", 字符串"abc"默認(rèn)就是unicode,不再代表本地編碼、
由于有這種內(nèi)部編碼,像c#和java類(lèi)似,再?zèng)]有必要在語(yǔ)言環(huán)境內(nèi)做類(lèi)似設(shè)置編碼,比如“sys.setdefaultencoding”;
也因此也python 3的代碼和包管理上打破了和2.x的兼容。2.x的擴(kuò)展包要適應(yīng)這種情況改寫(xiě)。
另一個(gè)問(wèn)題是語(yǔ)言環(huán)境內(nèi)只有unicode怎么輸出gbk之類(lèi)的本地編碼。
答按慣例都在(序列化)輸出時(shí)才轉(zhuǎn)換成本地編碼。
比如
file.write("GBK的中文".encode("GBK"))python環(huán)境內(nèi)字符串用str.encode("GBK")方法輸出成字節(jié)串用于和其他環(huán)境交流。
以上這篇python3 中文亂碼與默認(rèn)編碼格式設(shè)定方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注