【发布时间】:2019-06-19 02:07:47
【问题描述】:
我有一个小 PNG 文件的 hexdump 字符串,我想将其转换为二进制以写出 PNG 文件:
clip = "0x89 0x50 0x4e 0x47 0xd 0xa 0x1a 0xa 0x0 0x0 0x0 0xd 0x49 0x48 0x44 0x52 0x0 0x0 0x0 0x8 0x0 0x0 0x0 0x7 0x8 0x2 0x0 0x0 0x0 0xba 0x3b 0x9b 0x9 0x0 0x0 0x0 0x3 0x73 0x42 0x49 0x54 0x8 0x8 0x8 0xdb 0xe1 0x4f 0xe0 0x0 0x0 0x0 0x29 0x49 0x44 0x41 0x54 0x8 0x5b 0x63 0xfc 0xff 0xff 0x3f 0x3 0x36 0xc0 0x84 0x4d 0x10 0x24 0x46 0x2b 0x89 0xf7 0x1f 0xfe 0xfd 0xfc 0x9 0x75 0xb 0x8a 0x1d 0x39 0x95 0x9f 0xef 0x3e 0xfc 0xb 0x71 0xe 0x0 0xfc 0x18 0xd 0x6c 0xa9 0xf7 0x56 0x2d 0x0 0x0 0x0 0x0 0x49 0x45 0x4e 0x44 0xae 0x42 0x60 0x82 "
我尝试过使用clip.encode("hex"),但得到错误
'hex' is not a text encoding
使用binascii.unhexlify(clip),我得到了
Odd-length string
如果我删除空格,错误是
Non-hexadecimal digit found
关于 SO 或更广泛的互联网的其他讨论都没有帮助。
【问题讨论】:
-
@user5173426 我已经看到了,但是除了使用
binascii.unhexlify()之外没有多大意义,似乎不适用于我的情况。
标签: python python-3.x binary png hexdump