如何在Python3中将“二进制字符串”转换为普通字符串?

时间:2013-07-12 12:55:07

标签: python string python-3.x binary

例如,我有一个这样的字符串(返回值subprocess.check_output):

>>> b'a string'
b'a string'

无论我做了什么,它总是在字符串前打印出烦人的b'

>>> print(b'a string')
b'a string'
>>> print(str(b'a string'))
b'a string'

有没有人对如何将其用作普通字符串或将其转换为普通字符串有任何想法?

3 个答案:

答案 0 :(得分:242)

解码它。

>>> b'a string'.decode('ascii')
'a string'

要从字符串中获取字节,请对其进行编码。

>>> 'a string'.encode('ascii')
b'a string'

答案 1 :(得分:54)

如果falsetru的答案不起作用,您也可以尝试:

>>> b'a string'.decode('utf-8')
'a string'

答案 2 :(得分:1)

请参阅codecs库中的官方encode()decode()文档。 utf-8是函数的默认编码,但是Python 3中有standard encodings个,例如latin_1utf_32