Python中文編碼那些事
首先,要明白encode()和decode()的區(qū)別
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編碼的字符串,必須經(jīng)過以下步驟:
st=st.decode("utf-8") #解碼為Unicode編碼
st=st.encode("gbk") #從Unicode編碼編碼為gbk編碼
第三,我們經(jīng)常使用的utf-8編碼還分為有BOM的和無BOM的。
第四:關于json文件的中文編碼。用Python讀取Json文件時經(jīng)常用到json.load()函數(shù),該函數(shù)對json文件的格式是有要求的
1)json文件是utf-8 without BOM編碼的,那么可以直接用json.load(filename)函數(shù)讀取json文件的內(nèi)容
2)json文件是utf-8 with BOM編碼的,不能用json.load()函數(shù)讀取,json.load()不能正確識別
3)json文件時其他編碼的,比如gbk, 要把json文件的編碼格式作為一個參數(shù)傳給json.load():
eg. json.load(filename,"gbk")
第五,怎么查看并且設置自己文件的編碼呢?
介紹一個個人比較喜歡的工具"Nodtepad++",隨便一個軟件管家里就與一鍵安裝。
用這個工具你可以方便的查看自己的文件的當前編碼,并可以輕松轉換成任意其他編碼格式
相關文章
django filter過濾器實現(xiàn)顯示某個類型指定字段不同值方式
這篇文章主要介紹了django filter過濾器實現(xiàn)顯示某個類型指定字段不同值方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
python爬蟲之利用selenium+opencv識別滑動驗證并模擬登陸知乎功能
本文給大家介紹python爬蟲之利用selenium+opencv識別滑動驗證并模擬登陸知乎功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-09-09
Python使用scrapy采集時偽裝成HTTP/1.1的方法
這篇文章主要介紹了Python使用scrapy采集時偽裝成HTTP/1.1的方法,實例分析了scrapy采集的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04

