handle actual binary, not just utf8

This commit is contained in:
AJ ONeal 2012-09-19 14:22:55 -06:00
parent ba6a6282f1
commit c1673f281c
6 changed files with 52 additions and 6 deletions

19
atob/README.md Normal file
View File

@ -0,0 +1,19 @@
atob
===
Uses `Buffer` to emulate the exact functionality of the browser's atob.
Note: Unicode may be handled incorrectly (like the browser).
It turns base64-encoded **a**scii data back **to** **b**inary.
(function () {
"use strict";
var atob = require('atob')
, b64 = "SGVsbG8gV29ybGQ="
, bin = atob(b64)
;
console.log(bin); // "Hello World"
}());

View File

@ -18,5 +18,6 @@
"bin": { "bin": {
"atob": "bin/atob.js" "atob": "bin/atob.js"
}, },
"version": "1.0.1" "license": "Apache2",
"version": "1.1.0"
} }

View File

@ -1,13 +1,18 @@
/*jshint strict:true node:true es5:true onevar:true laxcomma:true laxbreak:true eqeqeq:true immed:true latedef:true*/
(function () { (function () {
"use strict"; "use strict";
var atob = require('./index') var atob = require('./index')
, encoded = "SGVsbG8gV29ybGQ=" , encoded = "SGVsbG8gV29ybGQ="
, unencoded = "Hello World" , unencoded = "Hello World"
, result /*
, encoded = "SGVsbG8sIBZM"
, unencoded = "Hello, 世界"
*/
; ;
if (unencoded !== atob(encoded)) { if (unencoded !== atob(encoded)) {
console.log('[FAIL]', unencoded, atob(encoded));
return; return;
} }

19
btoa/README.md Normal file
View File

@ -0,0 +1,19 @@
btoa
===
Uses `Buffer` to emulate the exact functionality of the browser's btoa (except that it supports unicode and the browser may not).
It turns **b**inary data **to** base64-encoded **a**scii.
(function () {
"use strict";
var btoa = require('btoa')
, bin = "Hello, 世界"
, b64 = btoa(bin)
;
console.log(b64); // "SGVsbG8sIBZM"
}());
Note: Unicode may or may not be handled incorrectly.

View File

@ -18,5 +18,6 @@
"btoa": "bin/btoa.js" "btoa": "bin/btoa.js"
}, },
"main": "index", "main": "index",
"version": "1.0.1" "license": "Apache2",
"version": "1.1.0"
} }

View File

@ -1,13 +1,14 @@
/*jshint strict:true node:true es5:true onevar:true laxcomma:true laxbreak:true eqeqeq:true immed:true latedef:true*/
(function () { (function () {
"use strict"; "use strict";
var btoa = require('./index') var btoa = require('./index')
, encoded = "SGVsbG8gV29ybGQ=" , encoded = "SGVsbG8sIBZM"
, unencoded = "Hello World" , unencoded = "Hello, 世界"
, result
; ;
if (encoded !== btoa(unencoded)) { if (encoded !== btoa(unencoded)) {
console.error('[FAIL]', encoded, btoa(unencoded));
return; return;
} }