首页 > 解决方案 > 如何在 python 3.5 及更高版本中将奇数长度的十六进制字符串转换为字节格式?

问题描述

在 python 3.7.2 中,我正在尝试测试比特币测试网代码。我正在尝试将奇数长度的 testnet 私钥转换为字节格式,但无论我尝试什么我都做不到,总是会出现一些错误,主要是因为我尝试的所有函数都无法处理奇数长度地址。有什么建议吗?到目前为止我已经尝试过

import codecs 
odd_len_str = "93AZYqkwkPsKAjHg7FqjXVMukwRrXkzGXYFNUsov2zFhDdfH8DT" #length=51
decode_hex = codecs.getdecoder("hex_codec") 
decode_hex(odd_len_str)[0]

import binascii
binascii.hexlify(odd_len_str) #doesn't work

bytes.fromhex(odd_len_str) #doesn't work

第一种方法的错误消息是:

_codec.py", line 19, in hex_decode
    return (binascii.a2b_hex(input), len(input))
binascii.Error: Odd-length string

标签: python

解决方案


是什么odd_len_str?你没有向我们展示它是什么。


推荐阅读