Python字符串到字节的转换。双反斜杠问题

Python字符串到字节的转换。双反斜杠问题,python,string,byte,Python,String,Byte,我有个问题。我有这个字符串: a=O\x8c\x90\x05\xa1\xe2!\xbe 如果我使用: c=str.encode(a) 结果是: b'O\\x8c\\x90\\x05\\xa1\\xe2!\\xbe' 我需要那个些双反斜杠变成单反斜杠,我真的需要那个类型的数据变成字节。我需要归还这个: c=b'0\x8c\x90\x05\xa1\xe2!\xbe' 和类型(c)=字节 有什么想法吗?你可以使用str.decode()编码为unicode转义。然后使用所需的编码将其解码回来,

我有个问题。我有这个字符串:

a=O\x8c\x90\x05\xa1\xe2!\xbe
如果我使用:

c=str.encode(a)
结果是:

b'O\\x8c\\x90\\x05\\xa1\\xe2!\\xbe'
我需要那个些双反斜杠变成单反斜杠,我真的需要那个类型的数据变成字节。我需要归还这个:

c=b'0\x8c\x90\x05\xa1\xe2!\xbe'
和类型(c)=字节
有什么想法吗?

你可以使用
str.decode()
编码为
unicode转义
。然后使用所需的编码将其解码回来,以获取字节数组。范例-

c = a.decode('unicode-escape').encode('<required encoding>')

print(repr(a))
给出了什么。这是:“O\\x8c\\x90\\x05\\xa1\\xe2\\xbe'Nvm。没有注意到c是字节。仍然没有得到我想要的。我需要这个输出-->c=b'0\x8c\x90\x05\xa1\xe2\您的解决方案告诉我:b'O\xc2\x8c\xc2\x90\x05\xc2\xa1\xc3\xa2\这是因为
\xe2
无效
utf-8
。使用有效的编码,它应该work@TeoAlbano现在检查一下,使用ISO-8859-1应该有效。你是上帝。如果您正在通过Redis中的DUMP转储数据并试图恢复它,则绝对需要解码,然后使用
ISO-8859-1
对其进行编码。
>>> 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'