gpt4 book ai didi

Python 2.7 编码和 feedparser

转载 作者:行者123 更新时间:2023-12-01 06:01:54 24 4
gpt4 key购买 nike

简而言之,我的情况是这样的:

  • 从 RSS feed 读取数据
  • 将内容打印到终端

当然,内容不是普通的 ascii 格式,而是 utf-8,所以我得到像“öäå”这样的字符。但是当我打印文本时,它全部被“\xe4”等转义字符弄乱了。与编码有关,但我就是无法理解这个问题。这应该是一件微不足道的事情,但 google fu 让我失望了。

一个例子是,当我逐字浏览内容并尝试找到字符“ö”时:我这样做:

if u"ö" in word:

这只是给出:UnicodeDecodeError: 'ascii' 编解码器无法解码位置 6 中的字节 0xc3...

编辑:

所以我想我找到了我的问题。我正在获取提要项目,然后只是执行 str(entry.content) 并继续传递它,但是该 entry.content 是一个列表,其中包含一个以 unicode 字符串作为值的字典,所以我所做的(我猜)只是获取一个 ascii字典内容的表示...

最佳答案

您正在尝试将编码文本与 unicode 进行比较。 Python 不知道编码文本是 UTF-8,因此它猜测它是 ASCII 并尝试将其解码为 un​​icode。解决方案是使用正确的编码对其进行显式解码。

查看 Python Unicode HOWTO了解更多信息。

我可以使用此文件重现您的问题:

# coding: utf-8

word = "öäå"
if u"ö" in word:
print True

并使用此文件修复它:

# coding: utf-8

word = "öäå".decode('utf-8')
if u"ö" in word:
print True

关于Python 2.7 编码和 feedparser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10012236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com