本文介绍了Python字符串到字节的转换。双反斜杠问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了问题。我有这个字符串:

I've got a problem. I've this string:

a=O\x8c\x90\x05\xa1\xe2!\xbe

如果我使用:

c=str.encode(a)

这是结果:

b'O\\x8c\\x90\\x05\\xa1\\xe2!\\xbe'

我需要那些双反斜杠成为单反斜杠,而我确实需要该类型的数据为BYTES。我需要返回此值:

I need those double backslash to be single backslash and i really need that type of data to be BYTES. I need to return this:

c=b'0\x8c\x90\x05\xa1\xe2!\xbe'

然后键入(c)== bytes
有什么想法吗? / p>

And type(c)==bytesAny idea?

推荐答案

您可以使用 str.decode()并将其编码为 unicode-escape 。然后使用所需的编码对其进行解码,以获取您的bytes数组。示例-

You can use str.decode() with encoding as unicode-escape . Then decode it back using the required encoding to get back your bytes array. Example -

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'

这篇关于Python字符串到字节的转换。双反斜杠问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 08:31