如何在Python中处理返回/存储的字符串,如原始字符串?

时间:2009-11-24 20:43:45

标签: python string escaping

我正在尝试.split()一个十六进制字符串,即'\xff\x00'来获取一个列表,即['ff', '00']

如果我使用r'\xff\x00'拆分原始字符串文字即.split('\\x'),但是如果我拆分存储在变量中的十六进制字符串或从函数返回(我认为不是原始字符串)

如何将存储/返回的字符串转换或至少“转换”为原始字符串?

2 个答案:

答案 0 :(得分:6)

x = '\xff\x00'
y = ['%02x' % ord(c) for c in x]
print y

输出:

['ff', '00']

答案 1 :(得分:0)

这是原始问题精神的解决方案:

x = '\xff\x00'
eval("r"+repr(x)).split('\\x')

它将返回与r'\xff\x00'.split('\\x')相同的内容:['', 'ff', '00']