繁体   English   中英

我如何在 python 3.5 及更高版本中将奇数长度的十六进制字符串转换为字节格式?

[英]how do i convert odd length hexadecimal string to byte format in python 3.5 and above?

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

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

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

对不起各位。 听说我试图将比特币地址直接转换为字节类型,假设它们是十六进制形式,但它们不是那么首先必须使用 base58 将它们转换为十六进制表示法,然后将它们转换为字节

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM