将字符串转换为 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")
我有一个包含日文字符的文本文件。我从里面读了一行,想专门把它转换成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")