Python &引用;需要一个类似字节的对象";,但类型(var)返回<;类别';字节'&燃气轮机;

Python &引用;需要一个类似字节的对象";,但类型(var)返回<;类别';字节'&燃气轮机;,python,python-3.x,character-encoding,Python,Python 3.x,Character Encoding,我必须进行一些文本处理,在编码方面遇到问题: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 11: invalid start byte 所以我做了: text = text.encode('utf-8').strip() 但是,在代码的后面,我必须执行以下操作: text = text.replace(' ', '_') 这给了我以下错误: TypeError: a bytes-like obje

我必须进行一些文本处理,在编码方面遇到问题:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 11: invalid start byte
所以我做了:

text = text.encode('utf-8').strip()
但是,在代码的后面,我必须执行以下操作:

text = text.replace(' ', '_')
这给了我以下错误:

TypeError: a bytes-like object is required, not 'str'
但此时
文本的类型是字节。我在pythonshell上运行了它,正如您在下面看到的,在执行
encode
命令之后,结果是一个类为
bytes
的对象


这里到底发生了什么,我该如何解决?我正在使用Python 3.5.2

替换它的对象必须是一个类似字节的对象

因此,您应该使用要替换的字符的字节表示形式。(试试下面这个)


但是,请注意,这在python 3.6中是固定的,因此如果可能的话,您可能应该更新到此版本。

我不确定您所说的“在python 3.6中固定”是什么意思
text.replace(“,”)
在3.6.5中引发了相同的类型错误。当我在mac上用3.6.3版运行它时,它对我有效@chepner你能给我你使用的字符串示例吗?
text = text.replace(b' ', b'_')