Если я запущу этот код, я получу сегменты, начиная с самого начала. Мне нужен этот код для целей с прямым порядком байтов, поэтому мне придется изменить порядок на обратный, поскольку я буду помещать байты в стек, а последние байты в конце на самом деле будут первыми. Порядок правильный. Проблема в том, что если я сегментирую их по 8 байтам, все начинается с самого начала. Последний сегмент не 8 байт, а 3, поэтому я хочу начать с конца. Есть идеи?
import sys
from textwrap import wrap
string = sys.argv[1]
data = string.encode().hex()
value=bytes.fromhex(data)
value=value[::-1]
s = bytes.hex(value)
#print(s)
print(wrap(s, width=8))
Чтобы запустить его, нужно просто python3 this_script.py «это длинная строка».
В настоящее время вывод выглядит так это:
['676e6972', '74732067', '6e6f6c20', '61207369', '20736968', '74']
Я хочу, чтобы он начинался с конца, с 74.
Вот как я хочу, чтобы результат выглядел.
['67', '6e697274', '7320676e', '6f6c2061', '20736920', '73696874']
Подробнее здесь: https://stackoverflow.com/questions/790 ... om-the-end
Разделить длинную шестнадцатеричную строку на сегменты по 8 байт, начиная с КОНЦА ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Разделить длинную шестнадцатеричную строку на сегменты по 8 байт, начиная с КОНЦА
Anonymous » » в форуме Python - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-