Python 處理帶有 \u 的字符串操作
最近遇到一個頭疼的問題,用socket接收到一個字符串
格式如下:
{“trade_status”: {“desc”: “\u30106\u3011 - \u8d22\u52a1\u7ed3\u7b97\u5df2\u5b8c\u6210 “}}/end/
其中含有一段含有\(zhòng)u的編碼字串,怎么將其轉(zhuǎn)化為漢字。
decode().encode(‘utf-8') 不行,decode、encode半天搞不定,后來偶然發(fā)現(xiàn),在decode時可以選則unicode-escape
代碼如下:
# -*- coding: utf-8 -*-
import socket
if __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()
輸出結(jié)果:
{"trade_status": {"desc": "\u30101\u3011 - \u4ea4\u6613\u4e2d "}}/**end**/
{"trade_status": {"desc": "【1】 - 交易中 "}}/**end**/
{"trade_status": {"desc": "【1】 - 交易中 "}}/**end**/
補(bǔ)充:Python3解析【\u】和【\\u】字符
【\u】字符示例
a = '\u5317\u4eac\u5e02' print(a)
北京市
b = '\\u5317\\u4eac\\u5e02' print(b)
\u5317\u4eac\u5e02
json.loads解析
import json a = '\\u5317\\u4eac\\u5e02' b = '"%s"' % a c = json.loads(b) print(a, b, c, sep='\n')
\u5317\u4eac\u5e02
“\u5317\u4eac\u5e02”
北京市
讀取文件中\(zhòng)u字符

demjson
from demjson import decode # pip install demjson

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python用yield from實現(xiàn)異步協(xié)程爬蟲的實踐
本文主要介紹了Python用yield from實現(xiàn)異步協(xié)程爬蟲的實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
PyTorch中Tensor的數(shù)據(jù)統(tǒng)計示例
今天小編就為大家分享一篇PyTorch中Tensor的數(shù)據(jù)統(tǒng)計示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
基于SQLAlchemy實現(xiàn)操作MySQL并執(zhí)行原生sql語句
這篇文章主要介紹了基于SQLAlchemy實現(xiàn)操作MySQL并執(zhí)行原生sql語句,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
Python在終端通過pip安裝好包以后在Pycharm中依然無法使用的問題(三種解決方案)
這篇文章主要介紹了Python在終端通過pip安裝好包以后在Pycharm中依然無法使用的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
Python實戰(zhàn)之MNIST手寫數(shù)字識別詳解
MNIST數(shù)據(jù)集是機(jī)器學(xué)習(xí)領(lǐng)域中非常經(jīng)典的一個數(shù)據(jù)集,由60000個訓(xùn)練樣本和10000個測試樣本組成,每個樣本都是一張28 * 28像素的灰度手寫數(shù)字圖片。本文主要介紹了通過 MNIST實現(xiàn)手寫數(shù)字識別,需要的可以參考一下2022-01-01

