我有以下Python代码从套接字读取文本:
chunk = mySocket.recv(1024)
while (chunk.find("[footer]") < 0):
chunk += mySocket.recv(1024)
然后我寻找一个包含非英语(西里尔文)字符的子字符串:
chunk.find("Код активации")
奇怪的是,find
始终返回-1
。
但是当我尝试将下载结果保存到文件时:
text_file = open("OutputResult.txt", "w")
text_file.write(chunk)
text_file.close()
该文件确实包含我使用str.find
搜索的文本模式。
我做错了什么?这是编码或其他问题吗?
UPD:
另一个重要的事情是print (chunk)
以明显错误的编码方式向控制台输出文本。所以我很确定这是一个编码问题。我正在下载的页面是“windows-1251”。