我使用python和sockets来创建一个简单的服务器。当我使用request.recv(1024)
接收头时,我无法解码编码的数据。这在Firefox上运行得很好。我用utf-8作为解码的编解码器。你知道吗
chrome使用不同的编码还是什么? 错误是:
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
head.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 8: invalid
我不知道你到底在做什么(没有代码显示),但一个HTTP消息不是UTF-8放在首位。引用from the standard:
和later it says关于HTTP头中字段的值:
因此,首先不要使用UTF-8对HTTP消息进行解码,因为它不是用来解释的。你知道吗
\0xfc
在解释为ISO-8859-1时是ü
,这可能是发送方想要的解释。它不是有效的UTF-8,但正如我所说的,HTTP消息首先不应该被视为UTF-8。你知道吗相关问题 更多 >
编程相关推荐