将Unicode字符串转换为字节数组
我正在使用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'))