Как преобразовать байтовый массив b'2 \ x000 \ x006 \ x000 \ x000 \ x000 \ x00 \ x04 \ x04 \ x04 \ x04 'в читаемую строку символов "20600" с помощью Python? - PullRequest
1 голос
/ 07 ноября 2019

Я получаю b'2\x000\x006\x000\x000\x000\x00\x04\x04\x04\x04' массив байтов и пытаюсь преобразовать его в 206000, но когда я использую decode ("utf8"), он печатает 206000 и при возврате возвращает тот же байтовый массив 2\x000\x006\x000\x000\x000\x00\x04\x04\x04\x04 в строкеформат т. е. 2\x000\x006\x000\x000\x000\x00\x04\x04\x04\x04

Я делаю расшифровку с использованием AES заданной зашифрованной строки.

a = b'2\x000\x006\x000\x000\x000\x00\x04\x04\x04\x04'
b = ""
for aa in a:
    print(chr(aa))

print(b)

Я ожидаю, что результат b'2\x000\x006\x000\x000\x000\x00\x04\x04\x04\x04' будет 206000, но фактический результат равен2\x000\x006\x000\x000\x000\x00\x04\x04\x04\x04.

Ответы [ 3 ]

1 голос
/ 07 ноября 2019

Кажется, ваша строка имеет тип utf16. Я сделал a.decode('utf16'), и в результате я получил «206000». Не уверен, почему эти евро пришли, но думал, что это может помочь вам, наконец, достичь цели. Я думаю, что есть какая-то проблема с вашей кодировкой utf16, но я уверен, что это utf-16, и это было бы решением. Всего наилучшего. :)

0 голосов
/ 07 ноября 2019

Спасибо, ребята, за ваши ответы. Я временное решение для этого. Из-за некоторых дополнительных отступов это не работало. Но после удаления дополнительного отступа он успешно работает.

data= b'2\x000\x006\x000\x000\x000\x00\x04\x04\x04\x04'.decode("utf8")
data= data.replace("\x00","")
data= data.replace("\x04","")
print(data)

Я знаю, что это неправильный способ решения проблемы. Но я обещаю вам, что вернусь с правильным решением.

Спасибо, Хемант Хатанкар

0 голосов
/ 07 ноября 2019

Сначала необходимо декодировать байтовый массив в строку:

a = b'2\x000\x006\x000\x000\x000\x00\x04\x04\x04\x04'
b = a.decode('utf-8')
for aa in b:
    print(aa)

print(b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...