歡迎您光臨本站 註冊首頁

python將unicode和str互相轉化的實現

←手機掃碼閱讀     ljg58026 @ 2020-05-12 , reply:0

問題一:
將u'u810fu4e71'轉換為'u810fu4e71'
方法:
s_unicode = u'u810fu4e71'
s_str = s_unicode.encode('unicode-escape').decode('string_escape')
問題二:
將'u810fu4e71'轉換為u'u810fu4e71'
方法:
s_str = 'u810fu4e71's_unicode = s_str.decode('unicode-escape')
補充知識:Python最簡單的解決列表中只打印UNICODE而不是中文字符的方法
答案就是用json模塊:
例如:
import json data=[{u'u663eu793a': [u'python', u'u8bd5u9a8c'], u'u6570u91cf': 22, u'u8bedu8a00': u'python'}] data_c = u'u663eu793a' print data print data_c res_data=json.dumps(data,ensure_ascii=False,encoding="gb2312") print res_data
在沒有進行格式轉換時,輸出為:
>>>[{u'u663eu793a': [u'python', u'u8bd5u9a8c'], u'u6570u91cf': 22, u'u8bedu8a00': u'python'}] >>>顯示
可見非列表中的數據在輸出時是會轉換成中文顯示出來的,但列表中的unicode數據不會。
轉換後,輸出為:
>>>[{"顯示": ["python", "試驗"], "數量": 22, "語言": "python"}]
如果後面這種輸出是想要的格式,那麼就利用現成的json模塊將原列表格式轉換為json字符串輸出,並設置好編碼格式,就可以了。
當還需要再用這部分用來顯示的數據,譬如以後什麼時候又想直接用python來讀取log文件中這種看起來比較方便的帶中文的偽列表,那麼再用json.loads轉換回去即可。


[ljg58026 ] python將unicode和str互相轉化的實現已經有259次圍觀

http://coctec.com/docs/python/shhow-post-234030.html