gpt4 book ai didi

Python 解码/编码问题

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:12:31 25 4
gpt4 key购买 nike

我知道 Internet 上有很多人表示在 Python 中遇到字符串编码问题,但无论我尝试什么,我都无法弄清楚如何解决我的问题。本质上,我使用 TCP 套接字连接到 Web 服务器,然后向该服务器发送 HTTP 请求。我将响应读入一系列缓冲区,我解码并连接这些缓冲区以创建一个完整的字符串形式的响应。但是,当我收到响应时,我收到了 UnicodeDecodingErrors。我想使用我的程序继续访问许多不同的网站,那么是否有解决这个问题的方法可以适用于我提供的几乎所有网站?

感谢您的宝贵时间。

部分代码:

def getAllFromSocket(socket):
'''Reads all data from a socket and returns a string of it.'''
more_bytes = True
message = ''
if(socket!=None):
while(more_bytes):
buffer = socket.recv(1024)
if len(buffer) == 0:
more_bytes = False
else:
message += buffer.decode('utf-8')
return message

所以当我这样做时:

received_message = getAllFromSocket(my_sock)

我得到:

UnicodeDecodeError: 'utf8' codec can't decode byte 0xd0 in position 1023: unexpected end of data

最佳答案

您可以尝试使用 UnicodeDammit 查找数据的编码.确保您获得的是 utf-8。您还可以选择忽略错误:

buffer.decode("utf-8", "ignore")

关于Python 解码/编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9986526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com