例如,我有一个这样的字符串(返回值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'
有没有人对如何将其用作普通字符串或将其转换为普通字符串有任何想法?
答案 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_1
或utf_32
。