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