-6ren"> -我必须进行一些文本处理并且在编码方面遇到问题: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 11: inv-6ren">
gpt4 book ai didi

python - "a bytes-like object is required",但 type(var) 返回

转载 作者:太空宇宙 更新时间:2023-11-04 00:18:05 25 4
gpt4 key购买 nike

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

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'

但是此时text的类型字节。我在 python shell 上运行它,如下所示,在 encode 命令之后,结果是 bytes 类的对象。

enter image description here

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

最佳答案

你用来替换它的必须是一个类似字节的对象。

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

text = text.replace(b' ', b'_')

但是,请注意这在 python 3.6 中已修复,因此您可能应该尽可能更新到此版本。

关于python - "a bytes-like object is required",但 type(var) 返回 <class 'bytes' >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50177011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com