Advertisement
Guest User

Untitled

a guest
Jan 31st, 2015
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. window.base32 = (function () {
  2. var b32 = function () {
  3. this.map = {};
  4. this.reverse = {};
  5. for(var i = 0;i<32;i++){
  6. var str = '';
  7. for(var k =4;k>=0;k--){
  8. str += (i&(1 << k))?'1':'0';
  9. }
  10. this.map[this.chars[i]]=str;
  11. this.reverse[str]=this.chars[i];
  12. }
  13. };
  14. b32.prototype = {
  15. chars : '0123456789abcdefghijklmnopqrstuv',
  16. fromBinary: function (s) {
  17. var pad = '';
  18. var ret = '';
  19. for (var i = 0, z = (5 - s.length % 5) % 5; i < z; i++)pad += '0';
  20. var seed = pad + s;
  21. for (var k = 0, x = seed.length / 5; k < x; k++) {
  22. ret+=this.reverse[seed.substr(k*5,5)];
  23. }
  24. return ret;
  25. },
  26. toBinary: function (s) {
  27. var ret = '';
  28. for (var i = 0, z = s.length; i < z; i++){
  29. ret+=this.map[s[i]];
  30. }
  31. return ret.replace(/^0*/,'');
  32. }
  33. };
  34. return new b32();
  35. })();
  36.  
  37. window.onload = function(){
  38. var bin = '0001010110010001010100010010101001010101';
  39. var b32str = base32.fromBinary('1'+bin);
  40. var bin2 = base32.toBinary(b32str).substr(1);
  41. console.log(bin);
  42. console.log(b32str);
  43. console.log(bin2);
  44. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement