Ce projet est un wrapper sur libbase64.
Il vise à fournir une implémentation rapide en base64 pour l’encodage/décodage base64.
pip installer pybase64
pybase64
utilise la même API que "l'interface moderne" Python base64 (introduite dans Python 2.4) pour une intégration facile.
Pour obtenir le décodage le plus rapide, il est recommandé d'utiliser le pybase64.b64decode
et validate=True
lorsque cela est possible.
import pybase64
print ( pybase64 . b64encode ( b'>>>foo???' , altchars = '_:' ))
# b'Pj4_Zm9vPz8:'
print ( pybase64 . b64decode ( b'Pj4_Zm9vPz8:' , altchars = '_:' , validate = True ))
# b'>>>foo???'
# Standard encoding helpers
print ( pybase64 . standard_b64encode ( b'>>>foo???' ))
# b'Pj4+Zm9vPz8/'
print ( pybase64 . standard_b64decode ( b'Pj4+Zm9vPz8/' ))
# b'>>>foo???'
# URL safe encoding helpers
print ( pybase64 . urlsafe_b64encode ( b'>>>foo???' ))
# b'Pj4-Zm9vPz8_'
print ( pybase64 . urlsafe_b64decode ( b'Pj4-Zm9vPz8_' ))
# b'>>>foo???'
Un outil de ligne de commande est également fourni. Il comporte des sous-commandes d’encodage, de décodage et de référence.
utilisation : pybase64 [-h] [-V] {benchmark,encode,decode} ... Outil de ligne de commande pybase64. arguments de position : {référence, encodage, décodage} aide de l'outil benchmark -h pour l'utilisation encoder -h pour l'utilisation décoder -h pour l'utilisation arguments facultatifs : -h, --help afficher ce message d'aide et quitter -V, --version affiche le numéro de version du programme et quitte
Documentation complète sur Lire la documentation.
Exécution de Python 3.7.2, Apple LLVM version 10.0.0 (clang-1000.11.45.5), Mac OS X 10.14.2 sur un Intel Core i7-4870HQ à 2,50 GHz
pybase64 0.5.0 (extension C active - AVX2) banc : altchars=Aucun, validate=False pybase64._pybase64.encodebytes : 1 734,776 Mo/s (13 271 472 octets -> 17 928 129 octets) pybase64._pybase64.b64encode : 4 039,539 Mo/s (13 271 472 octets -> 17 695 296 octets) pybase64._pybase64.b64decode : 1 854,423 Mo/s (17 695 296 octets -> 13 271 472 octets) base64.encodebytes : 78,352 Mo/s (13 271 472 octets -> 17 928 129 octets) base64.b64encode : 539,840 Mo/s (13 271 472 octets -> 17 695 296 octets) décodage base64.b64 : 287,826 Mo/s (17 695 296 octets -> 13 271 472 octets) banc : altchars=Aucun, validate=True pybase64._pybase64.b64encode : 4 156,607 Mo/s (13 271 472 octets -> 17 695 296 octets) pybase64._pybase64.b64decode : 4 107,997 Mo/s (17 695 296 octets -> 13 271 472 octets) base64.b64encode : 559,342 Mo/s (13 271 472 octets -> 17 695 296 octets) décodage base64.b64 : 143,674 Mo/s (17 695 296 octets -> 13 271 472 octets) banc : altchars=b'-_', validate=False pybase64._pybase64.b64encode : 2 786,776 Mo/s (13 271 472 octets -> 17 695 296 octets) pybase64._pybase64.b64decode : 1 124,136 Mo/s (17 695 296 octets -> 13 271 472 octets) base64.b64encode : 322,427 Mo/s (13 271 472 octets -> 17 695 296 octets) décodage base64.b64 : 205,195 Mo/s (17 695 296 octets -> 13 271 472 octets) banc : altchars=b'-_', validate=True pybase64._pybase64.b64encode : 2 806,271 Mo/s (13 271 472 octets -> 17 695 296 octets) pybase64._pybase64.b64decode : 2 740,456 Mo/s (17 695 296 octets -> 13 271 472 octets) base64.b64encode : 314,709 Mo/s (13 271 472 octets -> 17 695 296 octets) décodage base64.b64 : 121,803 Mo/s (17 695 296 octets -> 13 271 472 octets)
Documentation ajoutée
Ajout de sous-commandes au script principal :
- aide
- version
- encoder
- décoder
- référence