-1

我有一个像"0013A200305EFF96". 我想将其更改为 form "\x00\x13\xA2\x00\x30\x5E\xFF\x96"。特殊字符是"\x". 我怎样才能以一种省时的方式做到这一点?

4

3 回答 3

6

Python2

>>> "0013A200305EFF96".decode("hex")
'\x00\x13\xa2\x000^\xff\x96'

Python3

>>> bytes.fromhex("0013A200305EFF96")
b'\x00\x13\xa2\x000^\xff\x96'
于 2013-05-20T08:43:22.797 回答
1

gnibbler 的答案可能是您真正想要的;但为了完整起见,以下是插入任何序列的方法:

>>> '\\x'.join(a[i:i+2] for i in xrange(0, len(a), 2))
于 2013-05-20T08:46:21.940 回答
1

如果你的意思是字面意思\x

import re
s= "0013A200305EFF96"
s=re.sub("(..)", r"\x\1",s)
print s

输出

\x00\x13\xA2\x00\x30\x5E\xFF\x96
于 2013-05-20T08:49:25.060 回答