Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导入binascii Python 2.5.2_Python - Fatal编程技术网

导入binascii Python 2.5.2

导入binascii Python 2.5.2,python,Python,我正在尝试一个几乎直接来自2.5.2版文档的示例,用于函数“a2b_base64()”的Python库参考,该函数是“binascii”模块的一部分。我正在尝试将十六进制数转换为二进制值。最后,我需要将整个十六进制文件转换为二进制文件 该函数在技术上是针对字符串的,但我得到的错误是“NameError:name'a2b_base64'未定义”。知道为什么会失败吗?我希望我可以使用更现代的Python版本,避免使用a2b_base64()函数,但不能。谢谢 import binascii num

我正在尝试一个几乎直接来自2.5.2版文档的示例,用于函数“a2b_base64()”的Python库参考,该函数是“binascii”模块的一部分。我正在尝试将十六进制数转换为二进制值。最后,我需要将整个十六进制文件转换为二进制文件

该函数在技术上是针对字符串的,但我得到的错误是“NameError:name'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'

在Python中,每个模块都有自己的名称空间。默认情况下,在调用该模块中的方法时,需要包含模块名称:

import binascii
num = binascii.a2b_base64("04")
print num
请注意,
a2b_base64
将base64编码的二进制数据字符串转换为原始二进制形式,这听起来似乎不是您真正想要的。要将十六进制数字字符串转换为十六进制数据字符串,请使用
a2b_hex

>>> import binascii
>>> binascii.a2b_hex("04")
'\x04'

谢谢你的模块。方法指出。这两个例子(对我)都给出了意想不到的结果。最后一个返回菱形字符,第一个返回“不正确的填充错误”。我尝试添加一些前导零。在三点时,我最终没有得到任何错误,但返回的结果是一个下标为“m8”的“u”。函数
a2b_base64
与将十六进制转换为二进制无关。我几乎可以肯定,无论你想做什么,这都帮不了你。如果您想读取十六进制字符串并获取它所表示的整数,请使用
int
函数:例如
int(“1A”,16)
。感谢您的洞察力和患者提出的新问题。是否有现成的命令或函数将int转换为二进制?对于我一直坚持使用的旧版本2.5.2,这样做似乎没有什么支持。你能澄清一下“到二进制”是什么意思吗
binascii.a2b#u hex(“04”)
将生成一个包含二进制数据的字符串,该字符串由十六进制数字“04”表示,即设置位为#3的一个字节字符串。如果您的意思是希望将十六进制字符“04”的字符串转换为零和一个字符的字符串,如“0100”,下面有一些有用的答案。其中一些版本需要比您现有版本更新的Python版本,但它们可能会帮助您更接近一个答案。这两个例子(对我)都给出了意想不到的结果。最后一个返回菱形字符,第一个返回“不正确的填充错误”。我尝试添加一些前导零。在三点时,我最终没有得到任何错误,但返回的结果是一个下标为“m8”的“u”。函数
a2b_base64
与将十六进制转换为二进制无关。我几乎可以肯定,无论你想做什么,这都帮不了你。如果您想读取十六进制字符串并获取它所表示的整数,请使用
int
函数:例如
int(“1A”,16)
。感谢您的洞察力和患者提出的新问题。是否有现成的命令或函数将int转换为二进制?对于我一直坚持使用的旧版本2.5.2,这样做似乎没有什么支持。你能澄清一下“到二进制”是什么意思吗
binascii.a2b#u hex(“04”)
将生成一个包含二进制数据的字符串,该字符串由十六进制数字“04”表示,即设置位为#3的一个字节字符串。如果您的意思是希望将十六进制字符“04”的字符串转换为零和一个字符的字符串,如“0100”,下面有一些有用的答案。其中一些版本需要比您现有版本更新的Python,但它们可能有助于您更接近一个答案。