[英]Caught UnicodeDecodeError while rendering: 'utf8' codec can't decode byte 0xd0 in position 0: unexpected end of data
[英]UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 127: unexpected end of data
我在解码某些字符时遇到问题,错误是这样的:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 127: unexpected end of data
下面是我的代码,“ response”变量是JSON
response = requests.post('LINK-TO-API', headers=headers, data=data)
result = ""
for i in response:
result += i.decode('utf-8')
我的代码有什么问题? 谢谢
0xD0
( 0b11010000
)是表示多字节序列的UTF-8的开始的字节数中的一个。 第一个0之前的1表示序列的长度*。 第一个0之后的位是代码点编码的一部分。
基本上,响应的迭代器将两个字节的编码减少了一半。 您应先读取响应的全部内容,然后再尝试对其进行解码。 例如。
bytes_ = b''
for chunk in response:
bytes_ += chunk
result = bytes_.decode('utf8')
*以10
开头的字节表示多字节序列中的连续字节,而不是1字节编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.