【发布时间】:2013-05-14 18:44:35
【问题描述】:
我有一个类似"0013A200305EFF96" 的字符串。我想将其更改为"\x00\x13\xA2\x00\x30\x5E\xFF\x96" 的形式。特殊字符是"\x"。我怎样才能以省时的方式做到这一点?
【问题讨论】:
标签: python
我有一个类似"0013A200305EFF96" 的字符串。我想将其更改为"\x00\x13\xA2\x00\x30\x5E\xFF\x96" 的形式。特殊字符是"\x"。我怎样才能以省时的方式做到这一点?
【问题讨论】:
标签: python
>>> "0013A200305EFF96".decode("hex")
'\x00\x13\xa2\x000^\xff\x96'
>>> bytes.fromhex("0013A200305EFF96")
b'\x00\x13\xa2\x000^\xff\x96'
【讨论】:
gnibbler 的答案可能正是您真正在寻找的;但为了完整起见,以下是插入任何序列的方法:
>>> '\\x'.join(a[i:i+2] for i in xrange(0, len(a), 2))
【讨论】:
如果你的意思是字面意思\x:
import re
s= "0013A200305EFF96"
s=re.sub("(..)", r"\x\1",s)
print s
输出
\x00\x13\xA2\x00\x30\x5E\xFF\x96
【讨论】: