如何在Python中处理这个字符串

2024-10-02 20:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在接受来自websocket的二进制数据。在

我正在尝试执行json.loads(data),但却抛出了ValueError

打印得到以下结果(这都是有效的json):

{"session":"SeFKQ0SfYZqhh6FTCcKZGw==","authenticate":1,"id":1791}

但是当我进一步检查字符串时,print正在将这个怪物变成上面的json:

^{pr2}$

这是什么回来了?我如何用它做一些有意义的事情(通过json.loads把它变成一个本地词典)?在


Tags: 数据字符串idjsondatasession二进制websocket
1条回答
网友
1楼 · 发布于 2024-10-02 20:41:06

您的数据似乎是UTF-16编码的,没有BOM(字节顺序标记)的little-endian。在

我会先用utf16-le解码器解码:

data = data.decode('utf-16le')

然后用json.loads(data)加载它。在

^{pr2}$

输出:

{u'thread_id': 1791, u'session': u'SeFKQ0SfYZqhh6FTCcKZGw==', u'authenticate': 1}

相关问题 更多 >