解决编码问题:AttributeError: 'str' object has no attribute 'decode'

Posted maxxu11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决编码问题:AttributeError: 'str' object has no attribute 'decode'相关的知识,希望对你有一定的参考价值。

1. 问题发现:

出现:读取文件,对其进行解码,出现错误,AttributeError: ‘str‘ object has no attribute ‘decode‘

解释:属性错误,str对象不包含‘decode’属性。

 

2.原因解释:

出现问题原因:str与bytes表示的是两种数据类型,str为字符串型,bytes为字节型。对str编码encode得到bytes,
对bytes解码得到str,两者互为转换。而上面出现问题的原因是对str字符串使用了解码,显然是猪头不对马尾。

 

3.解决方法:

解决办法:删除decode(‘utf-8’)

 

4.代码演示:

txt = 你好,shiyi,很感谢你陪伴我的日子
#str->bytes encode
txt = txt.encode(utf-8)
print(type(txt))
#bytes->str decode
txt = txt.decode(utf-8)
print(type(txt))

 

5.结果展示:

<class bytes>
<class str>
Process finished with exit code 0

 



 

以上是关于解决编码问题:AttributeError: 'str' object has no attribute 'decode'的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:“字节”对象没有属性“编码”

如何修复 AttributeError:“列表”对象没有属性“编码”

错误 - AttributeError:'DirectoryIterator' 对象在 keras 的自动编码器设计中没有属性 'ndim

如何在 Python3 中解码编码文字/字符串的 numpy 数组? AttributeError:“numpy.ndarray”对象没有属性“解码”

Kivy Scrollview:AttributeError:“NoneType”对象没有属性“绑定”

AttributeError:“元组”对象没有属性“startswith”