如何在python中将长文本正确地编码为utf8?

2024-09-29 19:27:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我们可以使用这种方法将文本编码为utf-8

print u"\u221A".encode('utf-8')

但是,我们如何对这样的文本进行编码呢?你知道吗

[<p>d = \u221a2RH</p>, <p>d = 2Rlh</p>, <p>d = 2Rl\u221ah</p>, <p>d = 2Rh</p>]

上面的文本是从一个网页抓取的输出数据。它可以包含多行文字或单行文字。你知道吗

在抓取多个HTML文本后,我们将其存储在一个列表中。你知道吗


Tags: 数据方法文本网页编码列表htmlutf
2条回答

看来你的最终目标是转变

[<p>d = \u221a2RH</p>, <p>d = 2Rlh</p>, <p>d = 2Rl\u221ah</p>, <p>d = 2Rh</p>]

进入

[<p>d = √2RH</p>, <p>d = 2Rlh</p>, <p>d = 2Rl√h</p>, <p>d = 2Rh</p>]

有一种简单的方法可以实现这一点,使用“codecs”模块(文档:https://docs.python.org/3/library/codecs.html

代码:

import codecs
obj = '[<p>d = \u221a2RH</p>, <p>d = 2Rlh</p>, <p>d = 2Rl\u221ah</p>, <p>d = 2Rh</p>]'
codecs.encode(obj, encoding='utf-8', errors='strict')
print(obj)

输出:

[<p>d = √2RH</p>, <p>d = 2Rlh</p>, <p>d = 2Rl√h</p>, <p>d = 2Rh</p>]

我自己找到了答案。你知道吗

只要在这个字符串前面加上“u”,它就会给你预期的输出。你知道吗

print u"[<p>d = \u221a2RH</p>, <p>d = 2Rlh</p>, <p>d = 2Rl\u221ah</p>, <p>d = 2Rh</p>]".encode('utf-8')

输出为

[<p>d = √2RH</p>, <p>d = 2Rlh</p>, <p>d = 2Rl√h</p>, <p>d = 2Rh</p>]

等待其他人的回答,以检查是否有人有一个良好的和有效的代码相比,我的代码。你知道吗

相关问题 更多 >

    热门问题