python - 如何在 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
解决方案
是什么odd_len_str
?你没有向我们展示它是什么。
推荐阅读
- python - 我似乎无法删除值包含某个字符串的字典的键,为什么?
- django - Django 条件渲染模板
- deep-learning - IndexError: Target -1 is out of bounds error in tabular learner fatai2
- c - C 错误:无法将 'pile {aka pp}' 转换为 'pile** {aka pp**}
- ssl - 安全连接失败 - ColdFusion 2018
- javascript - 从变量 HTML 结果中解析特定字符串
- r - 将子集转换为前缀版本以使用管道
- amazon-web-services - 将 Cloudflare 配置为指向 AWS Amplify
- android - 更喜欢 AndroidInjector.Factory 现在组件可以有工厂而不是构建器
- angular - 将值更改为作为@input 属性接收的属性 - Angular 7