有时我在TCP服务器中遇到以下错误:
数据=连接。recv(4096)。解码(“utf-8-sig”)
file"/usr/lib/python3.6/编码/utf_8_sig.py",第23行,解码(输出,消耗)=codecs.utf_8_decode(输入,错误,True)
UnicodeDecodeError:'utf-8'编解码器无法解码位置5的字节0xe0:无效的延续字节
代码如下:
server_address = ('xx.xx.xx.xx', 10000)
print('starting up on %s port %s' % server_address)
sock.bind(server_address)
# Listen for incoming connections. Cantidad de 25 coneciones entrantes en cola
sock.listen(25)
while True:
# Wait for a connection
print ('waiting for a connection')
try:
connection, client_address = sock.accept()
print('connection from', client_address)
# Receive the data in small chunks and retransmit it
while True:
#with decode we convert byte to string, default decode is utf-8
data = connection.recv(4096).decode("utf-8-sig")
如果我不把函数。解码(“utf-8-sig”)我得到了这个错误:
TypeError:需要类似字节的对象,而不是“str”
我怎样才能防止这种情况?以前它使用utf-8,错误率高于utf-8-sig编码
0xe0
是无效的连续字节,因为它以位模式111
开始,而不是10
(请参见此处)。这意味着几乎可以肯定的是,你得到的和你期望得到的之间存在着不匹配。
最好的做法可能是在尝试解码之前,将正在读取的数据作为调试信息转储。这可以通过以下方式实现:
data = connection.recv(4096)
print("DEBUG", data)
data = data.decode("utf-8-sig")
这将让您看到实际收到的内容,因此您可以确认它是所需的格式。
还有。根据你在评论中显示的,它绝对不是UTF-8:
b'\x03\x00\x00/*\xe0\x00\x00\x00\x00\x00Cookie: mstshash=Administr\r\n\x01\x00\x08\x00\x03\x00\x00\x00'
有趣的是,这里和这里都有一些链接,它们描述了包含mstshash=administrar
字符串的会话,这些字符串可能是RDP黑客攻击的尝试。因此,您可能需要花一些精力了解这些会话的来源,并可能进一步加强您的网络。
我真的是从python开始的,但我在这行工作了好几个小时,如果不解决它,我哪儿都去不了。 UnicodeDecodeError:'utf-8'编解码器无法解码位置49的字节0xc9:无效的延续字节 再次: UnicodeDecodeError:“utf-8”编解码器无法解码位置388中的字节0xc9:无效的连续字节
问题内容: 我是Python的新手,正在尝试使用以下脚本读取csv文件。 但是,出现错误“ UnicodeDecodeError:’utf-8’编解码器无法解码位置35处的字节0x96:无效的起始字节”,请在此帮助我了解问题,我在脚本中使用编码认为可以解决错误。 问题答案: 发生这种情况是因为您选择了错误的编码。 由于您使用的是Windows计算机,因此只需更换 与 应该解决问题。
我试图从csv文件中读取所有列。 错误:UnicodeDecodeError:“utf-8”编解码器无法解码位置15中的字节0x96:无效的开始字节
以下代码创建错误 UnicodeDecodeError:“utf-8”编解码器无法解码位置0中的字节0xd0:无效的连续字节
我正在从Tensorflow导入我的模型,只想使用以下代码优化经过训练的模型: 它显示了这个错误: Traceback(最近一次调用最后一次):File",第2行,data=f.read()File"C:\用户\Chaine\AppData\本地\程序\Python\Python35\lib\site-包\tensorflow\python\lib\io\file_io.py",第125行,读取p
我是Python新手,我正在尝试使用下面的脚本读取csv文件。 但是,得到错误UnicodeDecodeError:'utf-8'编解码器不能解码字节0x96在位置35:无效的开始字节,请帮助我知道这里的问题,我在脚本中使用编码以为它会解决错误。
我正在尝试使用进行培训。我在运行时遇到此错误: 我运行在和 管道配置路径=pack\u检测器/models/ssd\u mobilenet\u v1/ssd\u mobilenet\u v1\u pack。配置回溯(最近一次调用last):tf中第184行的文件“legacy/train.py”。应用程序。run()文件“C:\Users\suparun\Anaconda3\envs\tensor
尝试安装 pip安装OSMnx 出错 异常:Traceback(最近一次调用最后一次):文件"C:\用户\liuzi\AppData\本地\程序\Python\Python36-32\lib\site-包\pip\compat__init__. py",第73行,console_to_str返回s.decode(sys.stdout.encoding)UnicodeDecodeError:'utf