如何在Python中将返回/存储的字符串视为原始字符串?
我想把一个十六进制字符串,比如 '\xff\x00'
,用 .split()
方法分开,得到一个列表,比如 ['ff', '00']
。
如果我用一个原始字符串,比如 r'\xff\x00'
,用 .split('\\x')
方法来分割,这样是可以的。但如果我用一个存储在变量里的十六进制字符串,或者是从一个函数返回的字符串(我猜这不是原始字符串),就不行了。
我该怎么把一个存储的或返回的字符串转换成原始字符串,或者至少“转换”一下呢?
2 个回答
0
这里有一个跟原问题相关的解决方案:
x = '\xff\x00'
eval("r"+repr(x)).split('\\x')
它的返回结果和 r'\xff\x00'.split('\\x')
一样:['', 'ff', '00']
。
6
x = '\xff\x00'
y = ['%02x' % ord(c) for c in x]
print y
输出结果:
['ff', '00']