python3中Unicode字符轉中文


python3中將Unicode字符串轉成中文

用python爬蟲爬取數據時,有時候會發現爬取的數據類似於

"\u3010\u6f14\u5531\u4f1a\u30112000-\u62c9\u9614\u97f3\u4e50\u4f1a"這樣的Unicode字符串,在python的交互環境里可以直接打印輸出查看內容;
print("\u3010\u6f14\u5531\u4f1a\u30112000-\u62c9\u9614\u97f3\u4e50\u4f1a")
【演唱會】2000-拉闊音樂會

但是有些時候,我們需要保存的是中文數據,而不是Unicode字符串,所以我們需要將Unicode轉成中文,我們知道encode()方法是將Unicode碼轉成我們需要的編碼格式,但是我們返回的本身就是str格式,所以我們需要將Unicode字符串轉成Unicode碼,網上查了資料,是將字符串進行decode("unicode_escape")轉換,但是在python3中,提示str沒有decode的方法。因此解決的辦法是先采用encode()進行編碼,在用同樣的編碼格式進行decode解碼;

data = "\u3010\u6f14\u5531\u4f1a\u30112000-\u62c9\u9614\u97f3\u4e50\u4f1a".encode("utf-8").decode("utf-8")
print(type(data))
print(data)
C:\Python36\python.exe E:
/work/1st_duty/demo3.py <class 'str'> 【演唱會】2000-拉闊音樂會
data = "\u3010\u6f14\u5531\u4f1a\u30112000-\u62c9\u9614\u97f3\u4e50\u4f1a".encode("GBK").decode("GBK")
print(type(data))
print(data)

C:\Python36\python.exe E:/work/1st_duty/demo3.py
<class 'str'>
【演唱會】2000-拉闊音樂會

編碼格式可以任意,只是解碼的時候需要用相同的格式進行解碼就行,這樣我們就可以保存中文數據了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM