首先,要明白encode()和decode()的區別
?encode()的作用是將Unicode編碼的字符串轉換為其他編碼格式。
例如: st1.encode("utf-8")? 這句話的作用是將Unicode編碼的st1編碼為utf-8編碼的字符串
decode()的作用是把其他編碼格式的字符串轉換成Unicode編碼的字符串。
例如: st2.decode("utf-8") 這句話的作用是將utf-8編碼的字符串st2解碼為Unicode編碼的字符串
第二,除Unicode編碼的字符串以外,任何一種編碼的字符串要想轉換為其他編碼格式,必須先解碼后編碼
非Unicode編碼--> Unicode編碼-->非Unicode編碼
例如,utf-8編碼的字符串st想要轉換為gbk編碼的字符串,必須經過以下步驟:
st=st.decode("utf-8") #解碼為Unicode編碼
st=st.encode("gbk")? #從Unicode編碼編碼為gbk編碼
第三,我們經常使用的utf-8編碼還分為有BOM的和無BOM的。
第四:關于json文件的中文編碼。用Python讀取Json文件時經常用到json.load()函數,該函數對json文件的格式是有要求的
1)json文件是utf-8 without BOM編碼的,那么可以直接用json.load(filename)函數讀取json文件的內容
2)json文件是utf-8 with BOM編碼的,不能用json.load()函數讀取,json.load()不能正確識別
3)json文件時其他編碼的,比如gbk, 要把json文件的編碼格式作為一個參數傳給json.load():
eg. json.load(filename,"gbk")
第五,怎么查看并且設置自己文件的編碼呢?
介紹一個個人比較喜歡的工具"Nodtepad++",隨便一個軟件管家里就與一鍵安裝。
用這個工具你可以方便的查看自己的文件的當前編碼,并可以輕松轉換成任意其他編碼格式
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
