Cuando intento ejecutar el script JS a continuación, obtengo una excepción en el código:
var encode = window.btoa('Hiroto √') "@lehesamudi.js:14:26 b.render/<@https://static.jsbin.com/js/prod/runner-4.1.8.min.js:1:13924 a.use/<@https://static.jsbin.com/js/prod/runner-4.1.8.min.js:1:10866 "Primero deberá codificar el carácter con la función encodeURI porque actualmente no se encuentra en el rango de juego de caracteres correcto para codificar con btoa.
Es decir
window.btoa(encodeURI('Hiroto √')) => SGlyb3RvJTIwJUUyJTg4JTlB
Para decodificar:
decodeURI(window.atob('SGlyb3RvJTIwJUUyJTg4JTlB')) => Hiroto √
Intenta escapar antes, encuentra el código a continuación.
function encode(str) { return window.btoa(unescape(encodeURIComponent(str))); } function decode(str) { return decodeURIComponent(escape(window.atob(str))); } // Usage: encode('Encode me with UTF-8 char: ∑ßåœ ≈ ∆c') // "RW5jb2RlIG1lIHdpdGggVVRGLTggY2hhcjog4oiRw5/DpcWTIOKJiCDiiIZj" decode("RW5jb2RlIG1lIHdpdGggVVRGLTggY2hhcjog4oiRw5/DpcWTIOKJiCDiiIZj") //'Encode me with UTF-8 char: ∑ßåœ ≈ ∆c'