在Python中将类型字节转换为字符串
我很难将websocket连接的输出转换为常规字符串,然后再转换为json 下面是一条简单的消息:在Python中将类型字节转换为字符串,python,python-3.x,Python,Python 3.x,我很难将websocket连接的输出转换为常规字符串,然后再转换为json 下面是一条简单的消息: msg = await ws.recv() print(msg) b'\xabVJ-K\xcd+Q\xb2R*.M*N.\xcaLJU\xd2QJ\xceH\xcc\xcbK\xcd\x01\x89\x16\xe4\x97\xe8\x97d&g\xa7\x16Y\xb9\x86x\xe8\x86\x06\xbb\x84(\xd5\x02\x00' 我尝试了以下方法:print(
msg = await ws.recv()
print(msg)
b'\xabVJ-K\xcd+Q\xb2R*.M*N.\xcaLJU\xd2QJ\xceH\xcc\xcbK\xcd\x01\x89\x16\xe4\x97\xe8\x97d&g\xa7\x16Y\xb9\x86x\xe8\x86\x06\xbb\x84(\xd5\x02\x00'
我尝试了以下方法:print(str(msg,'utf-8'))
但我得到了以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xab in position 0: invalid start byte
如果我尝试.decode(“utf-8”)
有人能帮我找到我做错了什么吗?提前谢谢 消息通过Deflate压缩进行优化。我所要做的就是夸大信息:
async def inflate(data):
decompress = zlib.decompressobj(-zlib.MAX_WBITS) # see above
inflated = decompress.decompress(data)
inflated += decompress.flush()
return inflated
我在这里找到了代码:这是否回答了您的问题?您确定消息是字符串吗?它可能是一个二进制消息。@Brian我试图使用.decode(“utf-8”),但我仍然会得到error@Barmarprint(type(msg))将给我一个字节类型我在文档中发现的唯一一件事是以下内容,但我不知道这是否与我的问题有关:“所有从WebSocket API返回的消息都通过Deflate压缩进行了优化。用户需要通过自己的方式对消息进行解压缩(通过充气算法进行压缩和解压缩)。”