2010-02-16 2 views
1

Это не может быть вопрос, связанный с Python, но в целом относится к кодировке языка. Я использую tweets из Twitter, и похоже, что существует большое японское сообщество пользователей (с сообщениями на японском языке). Когда я попытался кодировать твиты для файла XML, я использовал utf-8. например tweet = tweet.encode ('utf-8'), и ни одна из японских твитов не появилась так, как должна была. Мой вопрос, который я задаю, как мне его закодировать? Какая была моя ошибка? Если бы я должен хранить данные в CSV, какую схему кодирования я бы использовал в этом случае?Кодирование восточно-азиатских языков с использованием Python

ответ

3

Обычно вы запрашиваете формат кодирования данных. Сказав это, Shift-JIS является довольно популярной кодировкой для японского текста.

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

Какого кодирования схемы вы могли бы предложить для славянских языков или южно-азиатских языков? – GobiasKoffi

+0

Я бы просмотрел стандартные кодировки Python для подсказок. http://docs.python.org/library/codecs.html#standard-encodings –

2

Должен быть способ запросить кодирование твитов при чтении из Твиттера. Затем вы декодируете их в Юникод, когда вы читаете их в свою программу, затем encode их при записи их обратно в файл XML. Китайцы, например, могут быть с помощью GBK кодирования:

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

Спасибо за предложение. – GobiasKoffi