gpt4 book ai didi

python - python 中的数据编码

转载 作者:行者123 更新时间:2023-12-01 06:02:34 25 4
gpt4 key购买 nike

我使用 python 中的 nntplib 模块从新闻组下载图像。然后我想将数据保存到文件中。我使用:

news.group('alt.binaries.misc')  
data=''.join(news.body('<DhTgplpHcRsZMBTTw3i35@spot.net>')[-1])
f=open('image.png','wb')
f.write(data)
f.close()

但是,保存的文件不是正确的图像文件。
data是以下形式的字符串:

'\x89PNG=B=C\x1a=C=A=A=A=BIHDR=A=A\x02X=A=A\x01Q\x08\x06=A=A=A\xa8\x81\xd3\x89=A=A=A\tpHYs=A=A\x0b\x13=A=A\x0b\x13\x01=A\x9a\x9c\x18=A=A etc... '

,长度为309530。
我可以从第一个字节看出该文件应该是 png 文件,并且大小对我来说似乎也不错,所以我假设数据是正确的。
有谁知道我做错了什么?

更新:
我查看了文章的标题,上面写着:Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit我不认为这对解码文本很有帮助,但谁知道呢..

我还将我的字符串与 png 文件的常规标题进行了比较。这是\x89PNG\r\n\x1a\n ,或\x89PNG\x0d\x0a\x1a\x0a 。 (正如亚历克西斯也所说)
我得出的结论是 =B 代表\x0d,=C 代表\x0a,=A 代表\x00。 我假设其他\x.. 没有编码,但我不确定(我对编码不太了解) update3 显示它们确实不同。
以这种方式编码的编码是什么?

更新2:数据:-见下文- ( repr(data) )

更新3:我能够使用另一个程序保存图像,然后在 python 中打开它。这才是数据应该有的样子。 -见下文-。开始看起来有点相似,但之后就有很大的不同。这个编码到底是什么?这真的让我很沮丧。 (顺便说一句,感谢迄今为止所有的大力帮助)

<小时/>

所有文件:http://dl.dropbox.com/u/1499291/python-encoding-question/index.html

最佳答案

NULL 替换为“=A”,CR 替换为“=B”,LF 替换为“=C”,“=”替换为“=D”,与 gZip 8bit 非常相似([http://www.imc .org/ietf-usefor/2003/Feb/0575.html][1])。

关于python - python 中的数据编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9558399/

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