将字符串转换为 utf-16

Convert string to utf-16

我有一个包含日文字符的文本文件。我从里面读了一行,想专门把它转换成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 中,因为单词是由 ​​spaces 分隔的,所以文本文件使用什么语言并不重要。我可以使用 space 作为分隔符并计算文件中的单词数。

分开后,我可以轻松打印出来 -

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
こんにちは世界

这完全取决于文件的编码。

无论哪种方式,您都需要先解码该行,然后重新编码,使其成为 utf-16。

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