Конвертировать строку в utf-16 - PullRequest
0 голосов
/ 17 мая 2018

У меня есть текстовый файл с японскими символами.Я прочитал строку из нее и хочу преобразовать ее в utf-16 специально.Как я могу сделать это с помощью Python?Мой код выглядит следующим образом -

with open("C:\\Users\\badri\\jap.txt", 'rb') as f:
    for line in f:
        u = line.decode(encoding='utf-16',errors='strict')

Я получаю эту ошибку "LookupError: unknown encoding: utf-16"

Причина в том, что я хочу это в utf-16, потому что слова разделеныпо пробелам, и поэтому не имеет значения, на каком языке находится текстовый файл. Я мог бы использовать пробел в качестве разделителя и подсчитывать количество слов в файле.

После разделения я могу легко напечатать их таким образом -

u1 = u'\u0048\u0065\u006c\u006c\u006f'
u2 = u'\u0077\u006f\u0072\u006c\u0064'
u3 = u'\u3053\u3093\u306b\u3061\u306f\u4e16\u754c'
print u1
print u2
print u3

Hello
world
こんにちは世界

1 Ответ

0 голосов
/ 17 мая 2018

Это полностью зависит от кодировки файла.

В любом случае, вам необходимо сначала декодировать строку, а затем перекодировать ее так, чтобы она стала utf-16.

with open(file_path, "r") as fh:
    for line in fh:
        string = line.decode("utf-8").encode("utf-16")
...