Могу ли я вывести строку Unicode в массив байтов? - PullRequest
3 голосов
/ 05 января 2012

Я хотел бы вывести простую строку Unicode в массив байтов, чтобы я мог ссылаться на каждую как int.Это возможно?

Я хочу взять строку u"Hello World" и преобразовать ее в UTF-8 и что-то похожее на это: `

[0x01, 0x02, ..., 0x02]

Как я могу сделать это эффективно?

Ответы [ 2 ]

9 голосов
/ 05 января 2012

Если вы ищете Python bytearray :

my_array = bytearray(u"hello, world", encoding="utf-8")
7 голосов
/ 05 января 2012

Ваш вопрос может означать две вещи: либо кодировать строку Unicode, используя, скажем, UTF8 и получать список результирующих байтов, либо получать список кодовых точек Unicode.

В первом случае:

list_of_bytes = map(ord, my_unicode_string.encode('utf8'))

В последнем случае:

list_of_code_points = map(ord, my_unicode_string)
...