4

Python ライブラリには、Base64 で動作するための base64 モジュールがあります。同時に、文字列をエンコードする場合は、base64 用のコーデック、つまりstr.encode('base64_encode'). どのアプローチが好まれますか?

4

2 に答える 2

9

Python 2でも機能する可能性がありますが:

>>> 'foo'.encode('base64')
'Zm9v\n'

Python 3 はそれをサポートしていません:

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

また、速度に関しては (Python 2 で)、b64encodeメソッドは よりも約 3 倍高速です.encode()

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

したがって、速度と互換性の両方の点で、base64モジュールの方が優れています。

于 2013-04-25T03:16:12.787 に答える