AttributeError: ‘str‘ object has no attribute ‘decode‘
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AttributeError: ‘str‘ object has no attribute ‘decode‘相关的知识,希望对你有一定的参考价值。
问题描述
print("Response:", resp.text.decode('unicode_escape'))
报错:AttributeError: 'str' object has no attribute 'decode'
解决办法
print("Response:", resp.text.encode('utf-8').decode('unicode_escape'))
将字符串先.encode('utf-8')
编码为字节后.decode('unicode_escape')
解码为字符串。
拓展分析
AttributeError: ‘str’ object has no attribute ‘decode’
一般是因为str的类型本身不是bytes,所以不能解码。
两个概念:
- 普通str:可理解的语义
- 字节流str (bytes):(0101010101,可视化显示,计算机识别)
两个语法:
- Encode: 把普通字符串 转为 机器可识别的bytes
- Decode: 把bytes转为字符串
一个结论:
所以str.decode
本质是bytes类型的str 解码decode为易懂的string
python3经常出现 AttributeError: ‘str’ object has no attribute ‘decode’
非要这样玩,只能先encode转为bytes,再decode.
强制转换忽略错误:
bytes.decode(‘’utf-8‘’, ‘’ignore‘’)
参考原文:link
以上是关于AttributeError: ‘str‘ object has no attribute ‘decode‘的主要内容,如果未能解决你的问题,请参考以下文章
SQLAlchemy“AttributeError:'str'对象没有属性'c'”
AttributeError 'str' 对象没有属性 'path'
Django 2.2 + AttributeError:'str'对象没有属性'decode'
AttributeError:'str'对象在构建逻辑回归模型时没有属性'decode'[重复]