【发布时间】:2019-12-21 16:43:39
【问题描述】:
import base64
base64.b64encode(b'bytes required')
>>>b'Ynl0ZXMgcmVxdWlyZWQ='
如果我理解正确的话,base64 是一个 bytes string 表示法。那它为什么不直接给我字符串'Ynl0ZXMgcmVxdWlyZWQ='?
还是希望我进一步解码?
喜欢b'Ynl0ZXMgcmVxdWlyZWQ='.decode('ascii') 或b'Ynl0ZXMgcmVxdWlyZWQ='.decode('utf-8') ?但它们的结果是一样的。
【问题讨论】:
-
ascii符号的代码在utf-8中是一样的,所以结果是一样的。 -
@OlvinRoght 是的,base64 只使用
ascii字符,为什么不直接给我字符串?为什么我需要二进制结果?我想知道:( -
这是内存的“经济”。
b""字符串是每个字符 1 个字节。