【发布时间】:2017-11-29 21:23:42
【问题描述】:
我在一个字符串变量中有一个 png 文件的字节码。如何在没有 python 尝试对其进行编码的情况下将其写入 .png 文件?字符串是 '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\n\x00\x00\x00\x07\x08\x02\x00\x00\x00\xbe \xceK4\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00\tpHYs \x00\x00\x0e\xc3\x00\x00\x0e\xc3\x01\xc7o\xa8d\x00\x00\x00DIDAT\x18Wc\xf8\xff\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\x00\x00IEND\xaeB`\x82'
编辑:我觉得您可能需要更多关于我的情况的信息:我正在尝试制作一个小加密程序,虽然它适用于字符串,但我也想让它适用于任何文件。我正在以字节模式读取 .png 文件(它给出了上面提到的字符串),在完成加密和解密后,我有一个内容完全相同的字符串,但无法将其放回文件中.
【问题讨论】:
-
以二进制模式打开文件(使用'wb'而不是'w')
-
你为什么不使用
bytes对象,而不是str,在 Python 3 中是 unicode 代码点序列。换句话说,你是如何创建这个str的? -
@JohnLaRooy 几乎可以肯定,OP 需要一个由 string 表示的字节对象。 IE。将通过在该字符串文字前加上
b来创建的字节对象 -
谢谢约翰,不幸的是我试过了,没有用。
-
juanpa,我需要做一些事情,比如找到它的一部分等等,其中一些只能在字符串上。你知道有什么方法可以将字符串转换回原来的类型吗?
标签: python python-3.x file png