python將unicode和str互相轉(zhuǎn)化的實現(xiàn)
問題一:
將u'\u810f\u4e71'轉(zhuǎn)換為'\u810f\u4e71'
方法:
s_unicode = u'\u810f\u4e71'
s_str = s_unicode.encode('unicode-escape').decode('string_escape')
問題二:
將'\u810f\u4e71'轉(zhuǎn)換為u'\u810f\u4e71'
方法:
s_str = '\u810f\u4e71's_unicode = s_str.decode('unicode-escape')
補充知識:Python最簡單的解決列表中只打印UNICODE而不是中文字符的方法
答案就是用json模塊:
例如:
import json
data=[{u'\u663e\u793a': [u'python', u'\u8bd5\u9a8c'], u'\u6570\u91cf': 22, u'\u8bed\u8a00': u'python'}]
data_c = u'\u663e\u793a'
print data
print data_c
res_data=json.dumps(data,ensure_ascii=False,encoding="gb2312")
print res_data
在沒有進行格式轉(zhuǎn)換時,輸出為:
>>>[{u'\u663e\u793a': [u'python', u'\u8bd5\u9a8c'], u'\u6570\u91cf': 22, u'\u8bed\u8a00': u'python'}]
>>>顯示
可見非列表中的數(shù)據(jù)在輸出時是會轉(zhuǎn)換成中文顯示出來的,但列表中的unicode數(shù)據(jù)不會。
轉(zhuǎn)換后,輸出為:
>>>[{"顯示": ["python", "試驗"], "數(shù)量": 22, "語言": "python"}]
如果后面這種輸出是想要的格式,那么就利用現(xiàn)成的json模塊將原列表格式轉(zhuǎn)換為json字符串輸出,并設(shè)置好編碼格式,就可以了。
當(dāng)還需要再用這部分用來顯示的數(shù)據(jù),譬如以后什么時候又想直接用python來讀取log文件中這種看起來比較方便的帶中文的偽列表,那么再用json.loads轉(zhuǎn)換回去即可。
以上這篇python將unicode和str互相轉(zhuǎn)化的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題
這篇文章主要介紹了解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python實現(xiàn)飛機大戰(zhàn)游戲(pygame版)
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)pygame版的飛機大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-02-02
使用python實現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入MySQL中的數(shù)據(jù)庫
這篇文章主要為大家詳細(xì)介紹了如何使用 python 實現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入 MySQL 中的數(shù)據(jù)庫,對我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-06-06
python中Pyqt5使用Qlabel標(biāo)簽進行視頻播放
這篇文章主要介紹了python中Pyqt5使用Qlabel實現(xiàn)標(biāo)簽進行視頻播放,QLabel是界面中的標(biāo)簽類,繼承自QFrame類,提供文本和圖像的顯示,是一種展示控件,下文相關(guān)內(nèi)容介紹需要的小伙伴可以參考一下2022-04-04

