例如,我有一个这样的字符串(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'
有人知道如何将它作为普通字符串使用或转换成普通字符串吗?
例如,我有一个这样的字符串(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。