如何将“二进制string”转换为Python3中的正常string?

例如,我有一个像这样的string( subprocess.check_output返回值):

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

不pipe我做了什么,它总是用麻烦的b'打印在string之前:

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

有没有人有任何想法如何使用它作为一个正常的string或将其转换为一个正常的string?

解码它。

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

要从string获取字节,请对其进行编码。

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

如果来自falsetru的回答不起作用,您还可以尝试:

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