python將unicode和str互相轉(zhuǎn)化的實(shí)現(xiàn)
問(wèn)題一:
將u’u810fu4e71’轉(zhuǎn)換為’u810fu4e71’
方法:
s_unicode = u’u810fu4e71’s_str = s_unicode.encode(’unicode-escape’).decode(’string_escape’)
問(wèn)題二:
將’u810fu4e71’轉(zhuǎn)換為u’u810fu4e71’
方法:
s_str = ’u810fu4e71’s_unicode = s_str.decode(’unicode-escape’)
補(bǔ)充知識(shí):Python最簡(jiǎn)單的解決列表中只打印UNICODE而不是中文字符的方法
答案就是用json模塊:
例如:
import json data=[{u’u663eu793a’: [u’python’, u’u8bd5u9a8c’], u’u6570u91cf’: 22, u’u8bedu8a00’: u’python’}]data_c = u’u663eu793a’print dataprint data_c res_data=json.dumps(data,ensure_ascii=False,encoding='gb2312')print res_data
在沒(méi)有進(jìn)行格式轉(zhuǎn)換時(shí),輸出為:
>>>[{u’u663eu793a’: [u’python’, u’u8bd5u9a8c’], u’u6570u91cf’: 22, u’u8bedu8a00’: u’python’}]
>>>顯示
可見(jiàn)非列表中的數(shù)據(jù)在輸出時(shí)是會(huì)轉(zhuǎn)換成中文顯示出來(lái)的,但列表中的unicode數(shù)據(jù)不會(huì)。
轉(zhuǎn)換后,輸出為:
>>>[{'顯示': ['python', '試驗(yàn)'], '數(shù)量': 22, '語(yǔ)言': 'python'}]
如果后面這種輸出是想要的格式,那么就利用現(xiàn)成的json模塊將原列表格式轉(zhuǎn)換為json字符串輸出,并設(shè)置好編碼格式,就可以了。
當(dāng)還需要再用這部分用來(lái)顯示的數(shù)據(jù),譬如以后什么時(shí)候又想直接用python來(lái)讀取log文件中這種看起來(lái)比較方便的帶中文的偽列表,那么再用json.loads轉(zhuǎn)換回去即可。
以上這篇python將unicode和str互相轉(zhuǎn)化的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究2. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介3. Angular獲取ngIf渲染的Dom元素示例4. IIS+PHP添加對(duì)webp格式圖像的支持配置方法5. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp6. 無(wú)線(xiàn)標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)7. 使用.net core 自帶DI框架實(shí)現(xiàn)延遲加載功能8. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報(bào)錯(cuò)問(wèn)題分析9. php測(cè)試程序運(yùn)行速度和頁(yè)面執(zhí)行速度的代碼10. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過(guò)程解析
