Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将类型字节转换为字符串_Python_Python 3.x - Fatal编程技术网

在Python中将类型字节转换为字符串

在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(

我很难将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(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压缩进行了优化。用户需要通过自己的方式对消息进行解压缩(通过充气算法进行压缩和解压缩)。”