Tornado 发送和接收字节
Tornado send and receive bytes
我正在用一个打开的 jpg 文件中的一串字节写响应,如下所示:
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\...
当我收到带有 res = requests.get(url).text
的字节时,我得到这样的信息:
����JFIF��C��C����
���
��א�I+���`��;��oI�JU����J+��Uq̧[�}�ĥ�%��6A�}~�����mKD�#�
w,ޓW�t@~�?��TF�F������G�����N"���b��
当我试图逃脱它时:
piece = tornado.escape.utf8(res)
OR
piece = res.encode()
我得到一个字节串,但它与发送的不一样:
b'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xef\xbf\xbd\xef\xbf\xbd\x00C\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\...
原来的jpg是这样打开的:
with open('file.jpg', 'rb') as f:
content = f.read()
# Split content into multiple parts and send each part
如何使用 tornado 发送和接收一系列字节?
res = requests.get(url).text
您正在尝试将收到的 JPEG 文件作为文本文件读取。
您需要使用 content
属性以字节为单位获取数据:
res = requests.get(url).content
我正在用一个打开的 jpg 文件中的一串字节写响应,如下所示:
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\...
当我收到带有 res = requests.get(url).text
的字节时,我得到这样的信息:
����JFIF��C��C����
���
��א�I+���`��;��oI�JU����J+��Uq̧[�}�ĥ�%��6A�}~�����mKD�#�
w,ޓW�t@~�?��TF�F������G�����N"���b��
当我试图逃脱它时:
piece = tornado.escape.utf8(res)
OR
piece = res.encode()
我得到一个字节串,但它与发送的不一样:
b'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xef\xbf\xbd\xef\xbf\xbd\x00C\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\...
原来的jpg是这样打开的:
with open('file.jpg', 'rb') as f:
content = f.read()
# Split content into multiple parts and send each part
如何使用 tornado 发送和接收一系列字节?
res = requests.get(url).text
您正在尝试将收到的 JPEG 文件作为文本文件读取。
您需要使用 content
属性以字节为单位获取数据:
res = requests.get(url).content