链接到的工具只是将十六进制解释为字节,然后将这些字节编码为Base64。from binascii import unhexlify, b2a_base64
result = b2a_base64(unhexlify(hex_string))
或者from binascii import b2a_base64
result = b2a_base64(bytes.fromhex(hex_string))
在Python 2中,还可以使用str.decode()和str.encode()方法来实现相同的功能:result = hex_string.decode('hex').encode('base64')
在Python 3中,您必须为此使用codecs.encode()函数。
Python3中的演示:>>> bytes.fromhex('10000000000002ae')
b'\x10\x00\x00\x00\x00\x00\x02\xae'
>>> from binascii import unhexlify, b2a_base64
>>> unhexlify('10000000000002ae')
b'\x10\x00\x00\x00\x00\x00\x02\xae'
>>> b2a_base64(bytes.fromhex('10000000000002ae'))
b'EAAAAAAAAq4=\n'
>>> b2a_base64(unhexlify('10000000000002ae'))
b'EAAAAAAAAq4=\n'
Python2.7上的演示:>>> '10000000000002ae'.decode('hex')
'\x10\x00\x00\x00\x00\x00\x02\xae'
>>> '10000000000002ae'.decode('hex').encode('base64')
'EAAAAAAAAq4=\n'
>>> from binascii import unhexlify, b2a_base64
>>> unhexlify('10000000000002ae')
'\x10\x00\x00\x00\x00\x00\x02\xae'
>>> b2a_base64(unhexlify('10000000000002ae'))
'EAAAAAAAAq4=\n'