【问题标题】:Encode East Asian languages using Python使用 Python 对东亚语言进行编码
【发布时间】:2011-01-17 06:35:41
【问题描述】:
这可能不是真正与 Python 相关的问题,但通常与语言编码有关。我正在从 Twitter 挖掘推文,似乎有一个庞大的日本用户社区(有日语消息)。当我尝试为 XML 文件编码推文时,我使用了 utf-8。例如 tweet=tweet.encode('utf-8') 并且没有任何日本推文出现应有的情况。我提出的问题是,我应该如何对它们进行编码?我的错误是什么?如果我要将数据存储在 CSV 中,在这种情况下我会使用什么编码方案?
【问题讨论】:
标签:
python
xml
encoding
csv
【解决方案1】:
通常您会查询数据的编码格式。话虽如此,Shift-JIS 是一种非常流行的日语文本编码。
>>> u'あいうえお'.encode('shift-jis')
'\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8'
【解决方案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()