Преобразовать двоичную строку в шестнадцатеричный для запроса curl - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть пакет структуры, такой как

def encode_number(value):
    return struct.pack('>I', value)


def decode_number(raw):
    return int.from_bytes(raw, byteorder='big') 

>>> encode_number(1) b'\x00\x00\x00\x01'

>>> decode_number(b'\x00\x00\x00\x01') 1

, в то время как переводы, данные через curl, даются в шестнадцатеричном виде, как curl http://localhost:26657/broadcast_tx_commit?tx=0x01

Итак, 0x01 - это 1 в шестнадцатеричном виде, как вы легко преобразуете свою двоичную строку в шестнадцатеричный для команды curl?(предпочтительно в терминале Linux)

1 Ответ

0 голосов
/ 20 ноября 2018

Только что сделал поиск в Google и наткнулся на это: https://unix.stackexchange.com/questions/65280/binary-to-hexadecimal-and-decimal-in-a-shell-script

Пример, который они используют для преобразования Binary to Hex (терминал Bash / Linux):

$ printf '%x\n' "$((2#101010101))"
155
...