is there a UUDecode function available in JavaScript?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mvjohn100
    New Member
    • Mar 2008
    • 57

    is there a UUDecode function available in JavaScript?

    Does anyone know if there is a UUDecode function available to JavaScript

    john
  • gits
    Recognized Expert Moderator Expert
    • May 2007
    • 5390

    #2
    there is a implementation https://github.com/kvz/phpjs/blob/ma...rt_uudecode.js for example. there is no built in method - but by searching the web you might find more implementations for it.

    Comment

    • mvjohn100
      New Member
      • Mar 2008
      • 57

      #3
      code from the above link not work properly. able to get code from some other location and the perfect work code is as follows

      Code:
      function decode64(input) {
      
          var keyStr = "ABCDEFGHIJKLMNOP" +
          "QRSTUVWXYZabcdef" +
          "ghijklmnopqrstuv" +
          "wxyz0123456789+/" +
          "=";
      
          var output = "";
      
          var chr1, chr2, chr3 = "";
      
          var enc1, enc2, enc3, enc4 = "";
      
          var i = 0;
      
          // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
      
          var base64test = /[^A-Za-z0-9\+\/\=]/g;
      
          if (base64test.exec(input)) {
      
              alert("There were invalid base64 characters in the input text.\n" +
      
              "Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\n" +
      
              "Expect errors in decoding.");
      
          }
      
          input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
      
          do {
      
              enc1 = keyStr.indexOf(input.charAt(i++));
      
              enc2 = keyStr.indexOf(input.charAt(i++));
      
              enc3 = keyStr.indexOf(input.charAt(i++));
      
              enc4 = keyStr.indexOf(input.charAt(i++));
      
              chr1 = (enc1 << 2) | (enc2 >> 4);
      
              chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      
              chr3 = ((enc3 & 3) << 6) | enc4;
      
              output = output + String.fromCharCode(chr1);
      
              if (enc3 != 64) {
      
                  output = output + String.fromCharCode(chr2);
      
              }
      
              if (enc4 != 64) {
      
                  output = output + String.fromCharCode(chr3);
      
              }
      
              chr1 = chr2 = chr3 = "";
      
              enc1 = enc2 = enc3 = enc4 = "";
      
      
      
          } while (i < input.length);
      
      
          return decodeURI(output);
      
      }

      Comment

      Working...