将Unicode字符串转换为字节数组

0 投票
1 回答
3123 浏览
提问于 2025-04-15 19:11

我正在使用OpenGL,需要把一个字节数组传给一个函数。

glCallLists(len('text'), GL_UNSIGNED_BYTES, 'text');

这样做是没问题的。但是我需要传递unicode文本。我觉得应该这样做:

text = u'unicode text'
glCallLists(len(text), GL_UNSIGNED_SHORT, convert_to_array_of_words(text));

在这里,我使用了GL_UNSIGNED_SHORT,这表示我会提供一个每个元素占用2个字节的数组,并且以某种方式把unicode文本转换成一个字的数组。

那么,我该如何把unicode字符串转换成“原始”的字符数字数组呢?

1 个回答

2

每个字符占用2个字节的UTF编码叫做UTF-16:

print repr(u'あいうえお'.encode('utf-16be'))
print repr(u'あいうえお'.encode('utf-16le'))

撰写回答