我正在尝试几乎直接从Python库参考的2.5.2文档中获取函数“a2b_base64()”的示例,该函数是“binascii”模块的一部分。我试图将十六进制数转换为二进制值。最终我需要将整个hex文件转换为二进制文件。
该函数技术上是一个字符串,但我得到的错误是“NameError:name'a2b_base64'未定义”。知道为什么失败了吗?我希望我可以使用更现代的Python版本并避免使用a2b_base64()函数,但不能。谢谢。
import binascii
num = a2b_base64("04")
print num
答案 0 :(得分:1)
在Python中,每个模块都有自己的命名空间。默认情况下,在调用该模块中的方法时需要包含模块名称:
import binascii
num = binascii.a2b_base64("04")
print num
请注意,a2b_base64
将一串Base64编码的二进制数据转换为原始二进制形式,这听起来并不像您实际想要的那样。要将十六进制数字字符串转换为十六进制数据字符串,请使用a2b_hex
:
>>> import binascii
>>> binascii.a2b_hex("04")
'\x04'