base64 est un encodeur/décodeur base64 robuste, entièrement compatible avec atob()
et btoa()
, écrit en JavaScript. Les algorithmes de codage et de décodage en base64 qu'il utilise sont entièrement conformes à la RFC 4648.
Via npm :
npm install base-64
Dans un navigateur :
< script src =" base64.js " > </ script >
Dans Narwhal, Node.js et RingoJS :
var base64 = require ( 'base-64' ) ;
Dans Rhino :
load ( 'base64.js' ) ;
Utilisation d'un chargeur AMD comme RequireJS :
require (
{
'paths' : {
'base64' : 'path/to/base64'
}
} ,
[ 'base64' ] ,
function ( base64 ) {
console . log ( base64 ) ;
}
) ;
base64.version
Une chaîne représentant le numéro de version sémantique.
base64.encode(input)
Cette fonction prend une chaîne d'octets (le paramètre input
) et la code selon base64. Les données d'entrée doivent se présenter sous la forme d'une chaîne contenant uniquement des caractères compris entre U+0000 et U+00FF, chacun représentant un octet binaire avec des valeurs de 0x00
à 0xFF
. La fonction base64.encode()
est conçue pour être entièrement compatible avec btoa()
comme décrit dans la norme HTML.
var encodedData = base64 . encode ( input ) ;
Pour encoder en base64 n'importe quelle chaîne Unicode, encodez-la d'abord en UTF-8 :
var base64 = require ( 'base-64' ) ;
var utf8 = require ( 'utf8' ) ;
var text = 'foo © bar ? baz' ;
var bytes = utf8 . encode ( text ) ;
var encoded = base64 . encode ( bytes ) ;
console . log ( encoded ) ;
// → 'Zm9vIMKpIGJhciDwnYyGIGJheg=='
base64.decode(input)
Cette fonction prend une chaîne codée en base64 (le paramètre input
) et la décode. La valeur de retour se présente sous la forme d'une chaîne contenant uniquement des caractères compris entre U+0000 et U+00FF, chacun représentant un octet binaire avec les valeurs 0x00
à 0xFF
. La fonction base64.decode()
est conçue pour être entièrement compatible avec atob()
comme décrit dans la norme HTML.
var decodedData = base64 . decode ( encodedData ) ;
Pour décoder en base64 les données codées en UTF-8 dans une chaîne Unicode, décodez-les en UTF-8 après les avoir décodées en base64 :
var encoded = 'Zm9vIMKpIGJhciDwnYyGIGJheg==' ;
var bytes = base64 . decode ( encoded ) ;
var text = utf8 . decode ( bytes ) ;
console . log ( text ) ;
// → 'foo © bar ? baz'
base64 est conçu pour fonctionner au moins avec Node.js v0.10.0, Narwhal 0.3.2, RingoJS 0.8-0.9, PhantomJS 1.9.0, Rhino 1.7RC4, ainsi que les versions anciennes et modernes de Chrome, Firefox, Safari, Opera, et Internet Explorer.
Après avoir cloné ce référentiel, exécutez npm install
pour installer les dépendances nécessaires au développement et aux tests. Vous souhaiterez peut-être installer Istanbul globalement en utilisant npm install istanbul -g
.
Une fois cela fait, vous pouvez exécuter les tests unitaires dans Node en utilisant npm test
ou node tests/tests.js
. Pour exécuter les tests dans Rhino, Ringo, Narwhal et les navigateurs Web également, utilisez grunt test
.
Pour générer le rapport de couverture de code, utilisez grunt cover
.
Mathias Bynens |
base64 est disponible sous licence MIT.