Python-String to Bytes转换.Double BackSlash问题

Teo*_*ano 7 python string byte

我有一个问题.我有这个字符串:

a=O\x8c\x90\x05\xa1\xe2!\xbe
Run Code Online (Sandbox Code Playgroud)

如果我使用:

c=str.encode(a)
Run Code Online (Sandbox Code Playgroud)

这是结果:

b'O\\x8c\\x90\\x05\\xa1\\xe2!\\xbe'
Run Code Online (Sandbox Code Playgroud)

我需要那些双反斜杠是单反斜杠,我真的需要这种类型的数据是BYTES.我需要回复这个:

c=b'0\x8c\x90\x05\xa1\xe2!\xbe'
Run Code Online (Sandbox Code Playgroud)

并输入(c)== bytes任何想法?

Ana*_*mar 9

您可以使用str.decode()编码作为unicode-escape.然后使用所需的编码将其解码回来以获取字节数组.示例 -

c = a.decode('unicode-escape').encode('<required encoding>')
Run Code Online (Sandbox Code Playgroud)

演示 -

>>> 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'
Run Code Online (Sandbox Code Playgroud)