Как я могу преобразовать str в байты - PullRequest
1 голос
/ 09 июля 2019

У меня есть номера UTF-8 байтов Я хочу преобразовать эти числа в байты для декодирования (utf-8)

uniA = 0xea
uniB = 0xb0
uniC = 0x80

ans = '\\x'+str("{0:x}".format(uniA))+'\\x'+str("{0:x}".format(uniB))+'\\x'+str("{0:x}".format(uniC))+''
print(ans) 
>>> \xea\xb0\x80

Я хочу получить ans.decode('utf-8)

Ответы [ 2 ]

1 голос
/ 09 июля 2019

Следующая строка получит строку байта, которую вы можете декодировать:

ans = bytes([uniA,uniB,uniC])
print(ans.decode('utf8'))
1 голос
/ 09 июля 2019

Вы хотите преобразовать объекты int в соответствующий объект bytes, который напрямую поддерживается bytes, предоставив ему итерацию из int объектов, например, списка:

>>> uniA = 0xea
>>> uniB = 0xb0
>>> uniC = 0x80
>>> type(uniA)
<class 'int'>
>>> bytes([uniA, uniB, uniC]).decode('utf8')
'가'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...