base64 ist ein robuster Base64-Encoder/Decoder, der vollständig kompatibel mit atob()
und btoa()
ist und in JavaScript geschrieben ist. Die verwendeten Base64-Kodierungs- und -Dekodierungsalgorithmen sind vollständig RFC 4648-konform.
Über npm:
npm install base-64
In einem Browser:
< script src =" base64.js " > </ script >
In Narwhal, Node.js und RingoJS:
var base64 = require ( 'base-64' ) ;
Im Rhino:
load ( 'base64.js' ) ;
Verwendung eines AMD-Loaders wie RequireJS:
require (
{
'paths' : {
'base64' : 'path/to/base64'
}
} ,
[ 'base64' ] ,
function ( base64 ) {
console . log ( base64 ) ;
}
) ;
base64.version
Eine Zeichenfolge, die die semantische Versionsnummer darstellt.
base64.encode(input)
Diese Funktion nimmt eine Bytefolge (den input
) und kodiert sie gemäß base64. Die Eingabedaten müssen in Form einer Zeichenfolge vorliegen, die nur Zeichen im Bereich von U+0000 bis U+00FF enthält, die jeweils ein binäres Byte mit den Werten 0x00
bis 0xFF
darstellen. Die Funktion base64.encode()
ist so konzipiert, dass sie vollständig kompatibel mit btoa()
ist, wie im HTML-Standard beschrieben.
var encodedData = base64 . encode ( input ) ;
Um eine beliebige Unicode-Zeichenfolge mit Base64 zu kodieren, kodieren Sie sie zunächst als 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)
Diese Funktion nimmt eine Base64-codierte Zeichenfolge (den input
) und decodiert sie. Der Rückgabewert liegt in Form einer Zeichenfolge vor, die nur Zeichen im Bereich von U+0000 bis U+00FF enthält, die jeweils ein binäres Byte mit den Werten 0x00
bis 0xFF
darstellen. Die Funktion base64.decode()
ist so konzipiert, dass sie vollständig kompatibel mit atob()
ist, wie im HTML-Standard beschrieben.
var decodedData = base64 . decode ( encodedData ) ;
Um UTF-8-kodierte Daten zurück in einen Unicode-String zu dekodieren, dekodieren Sie sie mit UTF-8, nachdem Sie sie mit Base64 dekodiert haben:
var encoded = 'Zm9vIMKpIGJhciDwnYyGIGJheg==' ;
var bytes = base64 . decode ( encoded ) ;
var text = utf8 . decode ( bytes ) ;
console . log ( text ) ;
// → 'foo © bar ? baz'
base64 ist so konzipiert, dass es mindestens in Node.js v0.10.0, Narwhal 0.3.2, RingoJS 0.8-0.9, PhantomJS 1.9.0, Rhino 1.7RC4 sowie alten und modernen Versionen von Chrome, Firefox, Safari, Opera funktioniert. und Internet Explorer.
Führen Sie nach dem Klonen dieses Repositorys npm install
aus, um die für Entwicklung und Tests erforderlichen Abhängigkeiten zu installieren. Möglicherweise möchten Sie Istanbul global mit npm install istanbul -g
installieren.
Sobald dies erledigt ist, können Sie die Komponententests in Node mit npm test
oder node tests/tests.js
ausführen. Um die Tests auch in Rhino, Ringo, Narwhal und Webbrowsern auszuführen, verwenden Sie grunt test
.
Um den Codeabdeckungsbericht zu generieren, verwenden Sie grunt cover
.
Mathias Bynens |
base64 ist unter der MIT-Lizenz verfügbar.