base64是一个强大的 Base64 编码器/解码器,与atob()
和btoa()
完全兼容,用 JavaScript 编写。它使用的 base64 编码和解码算法完全符合 RFC 4648。
通过 npm:
npm install base-64
在浏览器中:
< script src =" base64.js " > </ script >
在 Narwhal、Node.js 和 RingoJS 中:
var base64 = require ( 'base-64' ) ;
在犀牛中:
load ( 'base64.js' ) ;
使用像 RequireJS 这样的 AMD 加载器:
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()
函数设计为与 HTML 标准中描述的btoa()
完全兼容。
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()
函数设计为与 HTML 标准中所述的atob()
完全兼容。
var decodedData = base64 . decode ( encodedData ) ;
要将 UTF-8 编码数据进行 Base64 解码回 Unicode 字符串,请在对其进行 Base64 解码后对其进行 UTF-8 解码:
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、和 Internet Explorer。
克隆此存储库后,运行npm install
以安装开发和测试所需的依赖项。您可能想使用npm install istanbul -g
全局安装 Istanbul。
完成后,您可以使用npm test
或node tests/tests.js
在 Node 中运行单元测试。要在 Rhino、Ringo、Narwhal 和 Web 浏览器中运行测试,请使用grunt test
。
要生成代码覆盖率报告,请使用grunt cover
。
马蒂亚斯·拜恩斯 |
base64可在 MIT 许可证下使用。