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