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 許可證下使用。