Python二进制文件直接从字符串写入

2024-09-27 23:26:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个png文件的字节码在一个字符串变量中。如何在不使用python编码的情况下将其写入.png文件?字符串的字符串是“\x89PNG\r\n\x1a\n\x89PNG\r\n\x1a\n\x00\x00\x00\x00\\rIHDR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x07\x08\x08\x02\x02\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04gAMA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x08\x08\xTPHYS\x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\xa8d\x00\x00\x00DIDAT\x18Wc\xf8\xff\xff\xaf\xfd\x07\xdf[:\xbc\x95Q\x81\xfb\xc7\xaa\xb5@q\x00I\xcb\xc1\x11D\x11H\xfa\xdb\x94\x19hr\x10\xf4NY\x1b$\x8d\x0c\x90\x95~\xad\xacE\x97F\x03\x94H\xff\xff\x0f\x00\x1f]\xa2\x03U | Z\xa3\x00\x00\x00IEND\xaeB `\x82'

编辑:我觉得你可能需要更多关于我的情况的信息:我正在尝试制作一个小的加密程序,虽然它可以在字符串上工作,但我想让它适用于任何文件。我正在以字节模式读取一个.png文件(它给出了上面提到的字符串),在它被加密和解密之后,我得到了一个内容完全相同的字符串,但无法将其放回文件中。在


Tags: 文件字符串编码字节png情况x00x02
2条回答

您可以尝试使用PyPNG,看起来是一个可能的解决方案: http://pythonhosted.org/pypng/ex.html#writing

这将允许您在python中向文件写入二进制文件。在

with open('filename', 'wb') as f:
      f.write(bytecode) 

对于python3,必须以二进制写入模式打开文件,并将字符串编码为字节:

with open('filename', 'wb') as f:
    f.write(the_string.encode())

相关问题 更多 >

    热门问题