对于Base64编码,更喜欢str.encode('base64_codec')或base64.b64encode(str)?

Ray*_*Tau 4 python codec

在Python库中,有base64模块可用于Base64.同时,如果你想编码一个字符串,有base64的编解码器,即str.encode('base64_encode').哪种方法更受欢迎?

Ble*_*der 9

虽然它可能适用于Python 2:

>>> 'foo'.encode('base64')
'Zm9v\n'
Run Code Online (Sandbox Code Playgroud)

Python 3不支持它:

>>> 'foo'.encode('base64')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
LookupError: unknown encoding: base64
Run Code Online (Sandbox Code Playgroud)

就速度而言(在Python 2中),该b64encode方法比.encode()以下快3倍:

In [1]: %timeit 'fooasodaspf8ds09f8'.encode('base64')
1000000 loops, best of 3: 1.62 us per loop

In [5]: %timeit b64encode('fooasodaspf8ds09f8')
1000000 loops, best of 3: 564 ns per loop
Run Code Online (Sandbox Code Playgroud)

因此,就速度和兼容性而言,base64模块更好.