tengo un problema y no sé como resolverlo... sucede que lo que intento es convertir una variable (bueno, su información) en encode base64 desde javascript
Tengo el siguiente código:
Código Javascript:
Ver original
var END_OF_INPUT = -1; var base64Chars = new Array( 'A','B','C','D','E','F','G','H', 'I','J','K','L','M','N','O','P', 'Q','R','S','T','U','V','W','X', 'Y','Z','a','b','c','d','e','f', 'g','h','i','j','k','l','m','n', 'o','p','q','r','s','t','u','v', 'w','x','y','z','0','1','2','3', '4','5','6','7','8','9','+','/' ); var reverseBase64Chars = new Array(); for (var i=0; i < base64Chars.length; i++){ reverseBase64Chars[base64Chars[i]] = i; } var base64Str; var base64Count; function setBase64Str(str){ base64Str = str; base64Count = 0; } function readBase64(){ if (!base64Str) return END_OF_INPUT; if (base64Count >= base64Str.length) return END_OF_INPUT; var c = base64Str.charCodeAt(base64Count) & 0xff; base64Count++; return c; } function encodeBase64(str){ setBase64Str(str); var result = ''; var inBuffer = new Array(3); var lineCount = 0; var done = false; while (!done && (inBuffer[0] = readBase64()) != END_OF_INPUT){ inBuffer[1] = readBase64(); inBuffer[2] = readBase64(); result += (base64Chars[ inBuffer[0] >> 2 ]); if (inBuffer[1] != END_OF_INPUT){ result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]); if (inBuffer[2] != END_OF_INPUT){ result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]); result += (base64Chars [inBuffer[2] & 0x3F]); } else { result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]); result += ('='); done = true; } } else { result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]); result += ('='); result += ('='); done = true; } lineCount += 4; if (lineCount >= 76){ result += ('\n'); lineCount = 0; } } return result; }
y funciona correctamente, pero ahora lo que necesito es como que hacerlo funcionar desde otro javascript y definitivamente ya me he atorado, tengo él siguiente script:
Código Javascript:
Ver original
var ready = document.getElementById('BotonCalc').value; var C = document.getElementById('C').value; var G = document.getElementById('G').value; var E = document.getElementById('E').value; var CE = document.getElementById('CE').value; var EXPPP = document.getElementById('EXP_pp').value; var TPPP = document.getElementById('TP_pp').value; var BP = document.getElementById('B_Precio').value; var VCadena = "C="+C+"&G="+G+"&E="+E+"&CE="+CE+"&EXPPP="+EXPPP+"&TPPP="+TPPP+"&BP="+BP; // Acontinuación aquí deseo que se ejecute la función convirtiendo la información de la variable VCadena en Base64, pero no he logrado que funcione de ninguna forma //var lineabase64 = return encodeBase64(VCadena); //var lineabase64 = function encodeBase64(VCadena); //var lineabase64 = encodeBase64(VCadena); if(ready != ""){ var mostrar = "block";} else {var mostrar = "none";} document.getElementById('base64').innerHTML = lineabase64;
Y pues quisiera saber si alguien me puede apoyar por favor para ver como lograr que la variable lineabase64 contenga la información de VCadena codificada en Base64
Gracias de antemano por la ayuda