gpt4 book ai didi

python - 打印一个 utf-8 编码的字符串

转载 作者:IT老高 更新时间:2023-10-28 22:18:51 28 4
gpt4 key购买 nike

我正在使用 BeautifulSoup 从 HTML 中提取一些文本,但我只是不知道如何将其正确打印到屏幕(或相关的文件)。

这是包含文本的类的样子:

class Thread(object):
def __init__(self, title, author, date, content = u""):
self.title = title
self.author = author
self.date = date
self.content = content
self.replies = []

def __unicode__(self):
s = u""

for k, v in self.__dict__.items():
s += u"%s = %s " % (k, v)

return s

def __repr__(self):
return repr(unicode(self))

__str__ = __repr__

当尝试打印 Thread 的实例时,我在控制台上看到:

~/python-tests $ python test.py
u'date = 21:01 03/02/11 content = author = \u05d3"\u05e8 \u05d9\u05d5\u05e0\u05d9 \u05e1\u05d8\u05d0\u05e0\u05e6\'\u05e1\u05e7\u05d5 replies = [] title = \u05de\u05d1\u05e0\u05d4 \u05d4\u05de\u05d1\u05d7\u05df '

无论我尝试什么,我都无法得到我想要的输出(上面的文本应该是希伯来语)。我的最终目标是将 Thread 序列化为文件(使用 json 或 pickle)并能够将其读回。

我在 Ubuntu 10.10 上使用 Python 2.6.6 运行它。

最佳答案

要将 Unicode 字符串输出到文件(或控制台),您需要选择 文本编码。在 Python 中,默认文本编码是 ASCII,但要支持希伯来字符,您需要使用不同的编码,例如 UTF-8:

s = unicode(your_object).encode('utf8')
f.write(s)

关于python - 打印一个 utf-8 编码的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203105/

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