Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- window.base32 = (function () {
- var b32 = function () {
- this.map = {};
- this.reverse = {};
- for(var i = 0;i<32;i++){
- var str = '';
- for(var k =4;k>=0;k--){
- str += (i&(1 << k))?'1':'0';
- }
- this.map[this.chars[i]]=str;
- this.reverse[str]=this.chars[i];
- }
- };
- b32.prototype = {
- chars : '0123456789abcdefghijklmnopqrstuv',
- fromBinary: function (s) {
- var pad = '';
- var ret = '';
- for (var i = 0, z = (5 - s.length % 5) % 5; i < z; i++)pad += '0';
- var seed = pad + s;
- for (var k = 0, x = seed.length / 5; k < x; k++) {
- ret+=this.reverse[seed.substr(k*5,5)];
- }
- return ret;
- },
- toBinary: function (s) {
- var ret = '';
- for (var i = 0, z = s.length; i < z; i++){
- ret+=this.map[s[i]];
- }
- return ret.replace(/^0*/,'');
- }
- };
- return new b32();
- })();
- window.onload = function(){
- var bin = '0001010110010001010100010010101001010101';
- var b32str = base32.fromBinary('1'+bin);
- var bin2 = base32.toBinary(b32str).substr(1);
- console.log(bin);
- console.log(b32str);
- console.log(bin2);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement