【发布时间】:2018-08-18 20:08:43
【问题描述】:
我有一些文本要尝试在 Python 中解码和编码
import html.parser
original_tweet = "I luv my <3 iphone & you’re awsm
apple.DisplayIsAwesome, sooo happppppy ????
http://www.apple.com"
tweet = original_tweet.decode("utf8").encode('ascii', 'ignore')
我已经在 Spyder (Python 3.6) 的一行中输入了原始推文
我收到以下消息
AttributeError: 'str' object has no attribute 'decode'
是否有另一种方法可以为 Python 3.6 重写此代码?
【问题讨论】:
-
您似乎对 Python 中的字符串代表什么以及编码或解码的作用感到困惑。编码将字符串转换为字节,解码则相反。鉴于此,您的调用没有意义,因此它也失败了。
-
这是我正在关注的网站,无法理解发生了什么:analyticsvidhya.com/blog/2014/11/…
-
您不能使用
str.encode()和bytes.decode()来处理HTML 实体&lt;和&amp;,如果这是您想要做的。为此查看 Parsing HTML with lxml 之类的库(基于您导入 HTML 解析器)。但是,您的字符串original_tweet不是正确的 HTML,因此您可以考虑先捏造它…… -
@cordelia 该网站的代码没有任何意义。如果您的
original_tweet值已经是字符串,则无需对其进行编码或解码。如果是字节串(即bytes对象),decode一次得到字符串。 -
我相信该网站上的代码是为 Python 2 编写的。在那里,一个常规字符串(不带
u前缀)是一个字节序列,可以解码。
标签: python