如何在Python中将返回/存储的字符串视为原始字符串?

1 投票
2 回答
593 浏览
提问于 2025-04-15 16:21

我想把一个十六进制字符串,比如 '\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']

撰写回答