Buenas estoy intentando codificar una cadena a base64 pero no lo condigo, estoy utilizando javascript para esto, dejo el código que estoy utilizando por si veis algún fallo
importClass(“VByteArray”);
//Leemos la cadena
var cadena = theRoot.varToString(“CAD”);
var oTexto = new VByteArray();
oTexto.setText(cadena);
var oByteArray = new VByteArray();
oByteArray.toBase64(oTexto);
var oBA = new VByteArray()
var cXML = theRoot.varToString(“CXML”)
oBA.setText(cXML)
var oB64 = oBA.toBase64()
theRoot.setVar(“CBASE64”, oB64.toLatin1String())
En la variable cBase64 asigno un texto codificado en Base64, pero efectivamente me di cuenta que hacian falta los parentesis al final de toLatin1String.
Para convertir o “traducir” de Base64 a Texto, me quedo funcionando de esta manera:
// Obtiene el string en Base64
var cBase64 = theRoot.varToString(“BASE64”);
// Define el objeto vByteArray
var oTexto = new VByteArray();
// Rellenamos un VByteArray con el string Base64
oTexto.setText(cBase64);
// Obtiene el texto traducido de Base64
var oByteArray = new VByteArray();
oByteArray.fromBase64(oTexto);
// Retorna el contenido de la variable de texto
theRoot.setVar(“TXT”, oByteArray.toLatin1String());
Muchas gracias por tu interés y por notar la confirmación de mi error.
Tengo un problema, la cadena en base64 que tengo que descodificar está en UTF-8, por lo que al descodificarla usando el javascript de @pacosatu me salen mal las “ñ” y resto de caracteres “especiales”.
¿Hay alguna manera de que la última línea exporte el valor de la variable sin transformarla en Latin1? Aquí os pongo el javascript que estoy usando:
var textoBase64 = theRoot.varToString(“TXT_BASE64”);
var textoOriginal = new VByteArray();
textoOriginal.setText(textoBase64);
var textoOriginal2 = new VByteArray();
textoOriginal2.fromBase64(textoOriginal);
theRoot.setVar(“TXT_ORIG”, textoOriginal2.toLatin1String());
He probado con “theRoot.setVar(“TXT_ORIG”, textoOriginal2.toUtf8String());” pero no funciona…
Buen aporte, estaba buscando esta conversión de texto a base64, ni en la documentación de doc.velneo lo tienen correcto.
Ahora @pacosatu desde la base64 y al volver a convertir de base64 a texto las letras mayúsculas se colocan como minúsculas, hay la menera de mantener correctamente la nomenclatura origen?