data = self.stream.read(size).decode('gbk', errors = 'ignore') AttributeError: 'str' object has no attribute 'decode'
时间: 2023-11-13 16:53:40 浏览: 195
详解Python中的编码问题(encoding与decode、str与bytes)
5星 · 资源好评率100%
这个错误是因为 Python 3 中的字符串对象不再有 `decode()` 方法。在 Python 3 中,字符串对象默认是 Unicode 编码的,并且不需要解码。如果你想将字节数据解码成字符串,你可以使用 `bytes.decode()` 方法。
可以尝试使用以下代码替换原来的代码:
```
data = self.stream.read(size).decode('gbk', errors='ignore')
```
替换为:
```
data = self.stream.read(size).decode('gbk', errors='ignore') if isinstance(self.stream.read(size), bytes) else self.stream.read(size)
```
这样可以兼容字节数据和字符串数据的处理。
阅读全文