base64 — это надежный кодировщик/декодер Base64, полностью совместимый с atob()
и btoa()
, написанный на JavaScript. Алгоритмы кодирования и декодирования base64, которые он использует, полностью совместимы с RFC 4648.
Через НПМ:
npm install base-64
В браузере:
< script src =" base64.js " > </ script >
В Narwhal, Node.js и RingoJS:
var base64 = require ( 'base-64' ) ;
В Рино:
load ( 'base64.js' ) ;
Использование загрузчика AMD, такого как RequireJS:
require (
{
'paths' : {
'base64' : 'path/to/base64'
}
} ,
[ 'base64' ] ,
function ( base64 ) {
console . log ( base64 ) ;
}
) ;
base64.version
Строка, представляющая номер семантической версии.
base64.encode(input)
Эта функция принимает строку байтов ( input
параметр) и кодирует ее в соответствии с base64. Входные данные должны быть в виде строки, содержащей только символы в диапазоне от U+0000 до U+00FF, каждый из которых представляет двоичный байт со значениями 0x00
до 0xFF
. Функция base64.encode()
полностью совместима с btoa()
как описано в стандарте HTML.
var encodedData = base64 . encode ( input ) ;
Чтобы закодировать любую строку Unicode в формате Base64, сначала закодируйте ее как 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)
Эта функция принимает строку в кодировке Base64 ( input
параметр) и декодирует ее. Возвращаемое значение имеет форму строки, содержащей только символы в диапазоне от U+0000 до U+00FF, каждый из которых представляет двоичный байт со значениями 0x00
до 0xFF
. Функция base64.decode()
полностью совместима с atob()
как описано в стандарте HTML.
var decodedData = base64 . decode ( encodedData ) ;
Чтобы декодировать данные в кодировке UTF-8 с помощью base64 обратно в строку Unicode, декодируйте их с помощью UTF-8 после декодирования с помощью base64:
var encoded = 'Zm9vIMKpIGJhciDwnYyGIGJheg==' ;
var bytes = base64 . decode ( encoded ) ;
var text = utf8 . decode ( bytes ) ;
console . log ( text ) ;
// → 'foo © bar ? baz'
base64 предназначен для работы как минимум в Node.js v0.10.0, Narwhal 0.3.2, RingoJS 0.8-0.9, PhantomJS 1.9.0, Rhino 1.7RC4, а также в старых и современных версиях Chrome, Firefox, Safari, Opera, и Интернет Эксплорер.
После клонирования этого репозитория запустите npm install
, чтобы установить зависимости, необходимые для разработки и тестирования. Возможно, вы захотите установить Istanbul глобально, используя npm install istanbul -g
.
Как только это будет сделано, вы сможете запустить модульные тесты в Node, используя npm test
или node tests/tests.js
. Чтобы запустить тесты в Rhino, Ringo, Narwhal и веб-браузерах, используйте grunt test
.
Чтобы создать отчет о покрытии кода, используйте grunt cover
.
Матиас Биненс |
base64 доступен по лицензии MIT.