我试图通过以下两个功能来了解一些不同的行为:

def hex_to_64(string):
    hex_string = binascii.a2b_hex(string)
    return binascii.b2a_base64(hex_string)

def hex_to_64_2(string):
    hex_string = binascii.a2b_hex(string)
    return base64.b64encode(hex_string)

如果将十六进制字符串传递给前者,则在末尾以换行符返回,而后者则不带换行符。有什么理由吗?

最佳答案

没什么特别的,实现者决定这样做。它记录在binascii module上。



如果您对此不满意,只需right strip即可:

hex_to_64('aa').rstrip('\n')
>>>'qg=='

希望这可以帮助!

10-01 08:48