bytes转的转换 python

在利用物联网模块采集温湿度时回传参数的应该时回传的16进制payload参数变成如下

b'{"up_timestamp":1645756174848,"payload":"\u0001\u0003\u0004\u0000~\u0000\xef\xbf\xbd\u001B\xef\xbf\xbd","client_id":"25F14254"}'
想请教一下各位,如何将payload转换过来?

尝试了将其转为16进制,但是与模块调试软件的回传参数不符。

试试这样转换成字符串呢:

import binascii
s = b"\u0001\u0003\u0004\u0000~\u0000\xef\xbf\xbd\u001B\xef\xbf\xbd"
print(binascii.b2a_hex(s).decode('utf-8'))


a = b'{"up_timestamp":1645756174848,"payload":"\u0001\u0003\u0004\u0000~\u0000\xef\xbf\xbd\u001B\xef\xbf\xbd","client_id":"25F14254"}'
print(a.decode('unicode-escape').encode())

你要的是这个结果吗
b'{"up_timestamp":1645756174848,"payload":"\x01\x03\x04\x00~\x00\xc3\xaf\xc2\xbf\xc2\xbd\x1b\xc3\xaf\xc2\xbf\xc2\xbd","client_id":"25F14254"}'

你回传的参数发一下