Python 處理帶有 u 的字符串操作
最近遇到一個頭疼的問題,用socket接收到一個字符串
格式如下:{“trade_status”: {“desc”: “u30106u3011 - u8d22u52a1u7ed3u7b97u5df2u5b8cu6210 “}}/end/
其中含有一段含有u的編碼字串,怎么將其轉化為漢字。
decode().encode(‘utf-8’) 不行,decode、encode半天搞不定,后來偶然發現,在decode時可以選則unicode-escape
代碼如下:# -*- coding: utf-8 -*-import socketif __name__ == ’__main__’: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((’192.168.6.63’, 10001)) sock.send(’[{'action': 'trade_status'}]’) rec = sock.recv(1024) print rec print rec.decode(’unicode-escape’).encode(’utf-8’) print rec.decode(’raw_unicode-escape’).encode(’utf-8’) sock.close()輸出結果:
{'trade_status': {'desc': 'u30101u3011 - u4ea4u6613u4e2d '}}/**end**/{'trade_status': {'desc': '【1】 - 交易中 '}}/**end**/{'trade_status': {'desc': '【1】 - 交易中 '}}/**end**/
補充:Python3解析【u】和【u】字符
【u】字符示例a = ’u5317u4eacu5e02’print(a)
北京市
b = ’u5317u4eacu5e02’print(b)
u5317u4eacu5e02
json.loads解析import jsona = ’u5317u4eacu5e02’b = ’'%s'’ % ac = json.loads(b)print(a, b, c, sep=’n’)
u5317u4eacu5e02
“u5317u4eacu5e02”
北京市
讀取文件中u字符from demjson import decode # pip install demjson
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章:
