base64 é um codificador/decodificador base64 robusto totalmente compatível com atob()
e btoa()
, escrito em JavaScript. Os algoritmos de codificação e decodificação base64 usados são totalmente compatíveis com RFC 4648.
Via npm:
npm install base-64
Em um navegador:
< script src =" base64.js " > </ script >
Em Narwhal, Node.js e RingoJS:
var base64 = require ( 'base-64' ) ;
Em Rinoceronte:
load ( 'base64.js' ) ;
Usando um carregador AMD como RequireJS:
require (
{
'paths' : {
'base64' : 'path/to/base64'
}
} ,
[ 'base64' ] ,
function ( base64 ) {
console . log ( base64 ) ;
}
) ;
base64.version
Uma string que representa o número da versão semântica.
base64.encode(input)
Esta função pega uma string de bytes (o parâmetro input
) e a codifica de acordo com base64. Os dados de entrada devem estar na forma de uma string contendo apenas caracteres no intervalo de U+0000 a U+00FF, cada um representando um byte binário com valores de 0x00
a 0xFF
. A função base64.encode()
foi projetada para ser totalmente compatível com btoa()
conforme descrito no padrão HTML.
var encodedData = base64 . encode ( input ) ;
Para codificar em base64 qualquer string Unicode, codifique-a primeiro como 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)
Esta função pega uma string codificada em base64 (o parâmetro input
) e a decodifica. O valor de retorno está na forma de uma string contendo apenas caracteres no intervalo de U+0000 a U+00FF, cada um representando um byte binário com valores 0x00
a 0xFF
. A função base64.decode()
foi projetada para ser totalmente compatível com atob()
conforme descrito no padrão HTML.
var decodedData = base64 . decode ( encodedData ) ;
Para decodificar dados codificados em UTF-8 em base64 de volta em uma string Unicode, decodifique-os em UTF-8 após decodificá-los em base64:
var encoded = 'Zm9vIMKpIGJhciDwnYyGIGJheg==' ;
var bytes = base64 . decode ( encoded ) ;
var text = utf8 . decode ( bytes ) ;
console . log ( text ) ;
// → 'foo © bar ? baz'
base64 foi projetado para funcionar pelo menos em Node.js v0.10.0, Narwhal 0.3.2, RingoJS 0.8-0.9, PhantomJS 1.9.0, Rhino 1.7RC4, bem como em versões antigas e modernas do Chrome, Firefox, Safari, Opera, e Internet Explorer.
Após clonar este repositório, execute npm install
para instalar as dependências necessárias para desenvolvimento e teste. Você pode querer instalar Istambul globalmente usando npm install istanbul -g
.
Feito isso, você pode executar os testes de unidade no Node usando npm test
ou node tests/tests.js
. Para executar os testes no Rhino, Ringo, Narwhal e também em navegadores da web, use grunt test
.
Para gerar o relatório de cobertura de código, use grunt cover
.
Mathias Bynens |
base64 está disponível sob a licença do MIT.