我试图通过以下两个函数来理解我看到的一些不同的行为:
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中。
将二进制数据转换为 Base64 编码的一行 ASCII 字符。返回值是转换后的行,包括换行符。数据长度最多应为 57,以符合 base64 标准。
如果你对此感到不舒服,那就这样right strip:
hex_to_64('aa').rstrip('\n')
>>>'qg=='
希望这可以帮助!
| 归档时间: | 
 | 
| 查看次数: | 2181 次 | 
| 最近记录: |