AttributeError: ‘str‘ object has no attribute ‘decode‘

Posted ZSYL

tags:

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

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'[重复]

AttributeError:“str”对象没有属性“items”

为啥我得到 AttributeError:'str' 对象没有属性 'strftime'?