Python處理字符串中文(漢字)編碼的實(shí)例
Python處理字符串中文(漢字)編碼
在實(shí)際開發(fā)中,發(fā)現(xiàn)打印Python打印經(jīng)常出現(xiàn)亂碼,大部分都是編碼引起
簡(jiǎn)單說(shuō)一下utf-8/ gbk/ unicode編碼之間的相互轉(zhuǎn)換問題
- utf-8是Unix下的一種通用編碼
- gbk是win環(huán)境下的一種漢字編碼
- unicode是一種二進(jìn)制編碼
所有的utf-8和gbk編碼都得通過(guò)unicode編碼進(jìn)行轉(zhuǎn)碼如圖:
首先,我們可以查看自己的字符串是什么編碼格式:
注意:
在Python3 中,需要將strTest轉(zhuǎn)換成二進(jìn)制,再獲取編碼格式;
而在2.x時(shí),不需要轉(zhuǎn)換,之接傳入:print chardet.detect(strTest)
import chardet strTest = "這是一個(gè)測(cè)試用例" print(chardet.detect(str_test.encode()))
得到輸出結(jié)果:
然后根據(jù)你的需要轉(zhuǎn)碼:
如 xxx.decode('utf-8').encode('gbk')
python有兩個(gè)函數(shù) decode() 和 encode()
- decode(‘utf-8’) 是從utf-8編碼轉(zhuǎn)換成unicode編碼,當(dāng)然括號(hào)里也可以寫'gbk'
- encode('gbk') 是將unicode編碼編譯成gbk編碼,當(dāng)然括號(hào)里也可以寫'utf-8'
str_to_gbk = str_test.encode('gbk') print(chardet.detect(str_to_gbk))
另外,有些時(shí)候,我們輸出打印時(shí),會(huì)出現(xiàn)中文打印是 \uxxx 等,可以試試以下代碼:
xxx.encode('utf-8').decode('unicode_escape')
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Python 中JSONDecodeError: Expecting value:&n
這篇文章主要介紹了解決Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)錯(cuò)誤問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03python單向循環(huán)鏈表原理與實(shí)現(xiàn)方法示例
這篇文章主要介紹了python單向循環(huán)鏈表原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Python單向循環(huán)鏈表概念、原理、定義及使用方法,需要的朋友可以參考下2019-12-12python讀取與處理netcdf數(shù)據(jù)方式
今天小編就為大家分享一篇python讀取與處理netcdf數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python內(nèi)置數(shù)據(jù)類型之列表操作
數(shù)據(jù)類型是一種值的集合以及定義在這種值上的一組操作。這篇文章主要介紹了python內(nèi)置數(shù)據(jù)類型之列表的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11django url到views參數(shù)傳遞的實(shí)例
今天小編就為大家分享一篇django url到views參數(shù)傳遞的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07通過(guò)python掃描二維碼/條形碼并打印數(shù)據(jù)
這篇文章主要介紹了通過(guò)python掃描二維碼/條形碼并打印數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Python使用re模塊實(shí)現(xiàn)信息篩選的方法
這篇文章主要介紹了Python使用re模塊實(shí)現(xiàn)信息篩選的方法,結(jié)合實(shí)例形式分析了Python正則re模塊進(jìn)行信息篩選操作的相關(guān)實(shí)現(xiàn)技巧及相關(guān)函數(shù)使用技巧,需要的朋友可以參考下2018-04-04