例如,我有一个这样的字符串(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'

有人知道如何将它作为普通字符串使用或转换成普通字符串吗?


当前回答

如果来自谬误的答案不管用,你也可以试试:

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

其他回答

解码。

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

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

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

如果来自谬误的答案不管用,你也可以试试:

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

请参阅codecs库中的官方encode()和decode()文档。utf-8是函数的默认编码,但在Python 3中有几种标准编码,如latin_1或utf_32。