使用Python编码东亚语言

1 投票
2 回答
507 浏览
提问于 2025-04-15 19:20

这可能不完全是一个关于Python的问题,而是和语言编码有关的一个问题。我正在从Twitter上提取推文,发现有很多日本用户在发消息(都是日文)。当我尝试把这些推文编码成XML文件时,我用了utf-8,比如说我用tweet=tweet.encode('utf-8'),结果发现那些日文推文并没有正常显示。我的问题是,我应该用什么编码方式呢?我哪里出错了?如果我要把这些数据存储到CSV文件里,我应该用什么编码方式呢?

2 个回答

2

当你从Twitter读取推文时,应该有办法查询这些推文的编码方式。然后,你可以在把推文读入你的程序时,将它们解码为Unicode格式,再在写回XML文件时将它们编码。比如说,中文可能使用的是gbk编码:

import codecs
unicode_data = data.decode('gbk')
f = codecs.open('out.xml','w','utf-8')
f.write(unicode_data)
f.close()
3

通常情况下,你会查询数据的格式,以了解它使用了什么编码。不过,Shift-JIS是一种非常常见的用于日文文本的编码方式。

>>> u'あいうえお'.encode('shift-jis')
'\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8'

撰写回答