tengo algo de contenido (HTML) que está siendo codificada como resultado de este javascript (de this page) y se envía a mi solicitud rieles:ruby / rails equivalente a javascript decodeURIComponent?
function encode_utf8_b64(string) {
return window.btoa(unescape(encodeURIComponent(string)));
}
código La corresponden js conseguirlo de nuevo a original, es la siguiente:
function decode_utf8_b64(string) {
return decodeURIComponent(escape(window.atob(string)));
}
Mi pregunta es, ¿hay un equivalente en ruby de decodeURIComponent()? Hasta ahora tengo esto que lo consigue parte de la salida, pero me falta el último paso del decodeURIComponent:
CGI::escape(Base64.decode64(string))
Gracias, he actualizado la respuesta :) – olistik
gracias - cuando aplico URI.unescape o URI.decode, aparece un error de "secuencia de bytes no válida en UTF-8". Parece que la salida de CGI :: escape() es US-ASCII. Cuando traté de usar Iconv para convertir la cadena a UTF-8 antes de aplicar URI.unescape, dejó de arrojar el error, pero parecía eliminar solo uno de los pasos de codificación, por lo que la salida seguía siendo un desastre. ¿Algun consejo? O tal vez este es un problema separado. – bobfet1