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

Bre*_*dan 1 python string escaping

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

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

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

Mar*_*ers 6

x = '\xff\x00'
y = ['%02x' % ord(c) for c in x]
print y
Run Code Online (Sandbox Code Playgroud)

输出:

['ff', '00']
Run Code Online (Sandbox Code Playgroud)

  • 这在处理需要转换为十六进制的二进制数据时通常很有用...`x.encode("hex")`打印`'ff00'`.同样`'ff00'.decode("hex")`是`'\ xff\x00'`. (3认同)
  • 好的,所以每个十六进制值都是一个"单个"字符.`ord()`返回值为ff - > 255的整数.Python字符串格式的`x`表示整数的十六进制表示(没有'\ x`),而`0`用零填充它`2`指定宽度.请参阅http://docs.python.org/library/stdtypes.html#string-formatting-operations (2认同)