我试图通过以下两个功能来了解一些不同的行为:
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=='
希望这可以帮助!