handle actual binary, not just utf8
This commit is contained in:
		
							parent
							
								
									ba6a6282f1
								
							
						
					
					
						commit
						c1673f281c
					
				
							
								
								
									
										19
									
								
								atob/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								atob/README.md
									
									
									
									
									
										Normal 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"
 | 
				
			||||||
 | 
					    }());
 | 
				
			||||||
@ -18,5 +18,6 @@
 | 
				
			|||||||
  "bin": {
 | 
					  "bin": {
 | 
				
			||||||
    "atob": "bin/atob.js"
 | 
					    "atob": "bin/atob.js"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "version": "1.0.1"
 | 
					  "license": "Apache2",
 | 
				
			||||||
 | 
					  "version": "1.1.0"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -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
									
								
							
							
						
						
									
										19
									
								
								btoa/README.md
									
									
									
									
									
										Normal 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.
 | 
				
			||||||
@ -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"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -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;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user