您好,登錄后才能下訂單哦!
小編這次要給大家分享的是python如何將unicode和str互相轉(zhuǎn)化,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
問題一:
將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
在沒有進(jìn)行格式轉(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)換回去即可。
看完這篇關(guān)于python如何將unicode和str互相轉(zhuǎn)化的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。