我遇到了问题。我有这个字符串:
a=O\x8c\x90\x05\xa1\xe2!\xbe
如果我使用:
c=str.encode(a)
结果如下:
b'O\\x8c\\x90\\x05\\xa1\\xe2!\\xbe'
我需要那些双反斜杠是单反斜杠,我真的需要这种类型的数据是BYTES。我需要回复:
c=b'0\x8c\x90\x05\xa1\xe2!\xbe'
并键入(c)== bytes 有什么想法吗?
答案 0 :(得分:6)
您可以将str.decode()
编码为unicode-escape
。然后使用所需的编码将其解码回来以获取字节数组。示例 -
c = a.decode('unicode-escape').encode('<required encoding>')
演示 -
>>> a
b'O\\x8c\\x90\\x05\\xa1\\xe2!\\xbe'
>>> c = a.decode('unicode-escape').encode('ISO-8859-1')
>>> c
b'O\x8c\x90\x05\xa1\xe2!\xbe'