Permalink
Browse files

handle actual binary, not just utf8

  • Loading branch information...
1 parent ba6a628 commit c1673f281cb5e4a088f12a80bac4536be0b44215 @coolaj86 committed Sep 19, 2012
Showing with 52 additions and 6 deletions.
  1. +19 −0 atob/README.md
  2. +2 −1 atob/package.json
  3. +6 −1 atob/test.js
  4. +19 −0 btoa/README.md
  5. +2 −1 btoa/package.json
  6. +4 −3 btoa/test.js
View
@@ -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
@@ -18,5 +18,6 @@
"bin": {
"atob": "bin/atob.js"
},
- "version": "1.0.1"
+ "license": "Apache2",
+ "version": "1.1.0"
}
View
@@ -1,13 +1,18 @@
+/*jshint strict:true node:true es5:true onevar:true laxcomma:true laxbreak:true eqeqeq:true immed:true latedef:true*/
(function () {
"use strict";
var atob = require('./index')
, encoded = "SGVsbG8gV29ybGQ="
, unencoded = "Hello World"
- , result
+ /*
+ , encoded = "SGVsbG8sIBZM"
+ , unencoded = "Hello, 世界"
+ */
;
if (unencoded !== atob(encoded)) {
+ console.log('[FAIL]', unencoded, atob(encoded));
return;
}
View
@@ -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
@@ -18,5 +18,6 @@
"btoa": "bin/btoa.js"
},
"main": "index",
- "version": "1.0.1"
+ "license": "Apache2",
+ "version": "1.1.0"
}
View
@@ -1,13 +1,14 @@
+/*jshint strict:true node:true es5:true onevar:true laxcomma:true laxbreak:true eqeqeq:true immed:true latedef:true*/
(function () {
"use strict";
var btoa = require('./index')
- , encoded = "SGVsbG8gV29ybGQ="
- , unencoded = "Hello World"
- , result
+ , encoded = "SGVsbG8sIBZM"
+ , unencoded = "Hello, 世界"
;
if (encoded !== btoa(unencoded)) {
+ console.error('[FAIL]', encoded, btoa(unencoded));
return;
}

0 comments on commit c1673f2

Please sign in to comment.