Преобразовать строку Юникода в массив байтов - PullRequest
0 голосов
/ 12 февраля 2010

Я использую 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 байта, и каким-то образом преобразую текст в юникоде в массив слов.

Итак, как мне преобразовать строку Юникода в «сырой» массив чисел символов?

1 Ответ

2 голосов
/ 12 февраля 2010

Кодировка UTF, занимающая 2 байта на символ: UTF-16:

print repr(u'あいうえお'.encode('utf-16be'))
print repr(u'あいうえお'.encode('utf-16le'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...