将二进制字符串转换为十六进制以用于 curl 请求

Convert binary string to hex for curl request

我有一个类似

的结构包
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 终端)

刚刚进行了 google 搜索并发现了这个: https://unix.stackexchange.com/questions/65280/binary-to-hexadecimal-and-decimal-in-a-shell-script

他们用于二进制到十六进制的示例(Bash/Linux 终端):

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