Son unas funciones análogas a las existentes en PHP para codificar y descodificar cadenas a UTF-8, pero en sus versiones Javascript, para la programación del lado del cliente.
Nosotros no hemos hecho estas funciones, sino que tal como comentábamos, están presentes en las librerías php.js, un proyecto para portar las funciones de PHP al lenguaje Javascript, que contiene muchas joyitas como éstas, en las que podemos utilizar algunas de las funciones que ya existen en PHP, a las que quizás estemos acostumbrados a recurrir habitualmente en nuestras aplicaciones web.
Las dos funciones que os presentamos en este caso son bien simples, ya que simplemente reciben una cadena y devuelven otra, que nos sirven para hacer dos operaciones:
Se puede ver un ejemplo de uso a continuación:
var texto = "Tomaré una decisión con la cigüeña.";
var textoUtf8 = utf8_encode(texto);
Como resultado de ejecutar estas dos sentencias, en la variable textoUtf8 tendremos una cadena como esta:
Tomaré una decisión con la cigüeña.
var texto = "Tomaré una decisión con la cigüeña.";
var textoISO = utf8_encode(texto);
Como resultado de ejecutar esas instrucciones, el contenido de la variable textoISO volverá a ser la cadena inicial "Tomaré una decisión con la cigüeña.".
A modo de referencia, os comento que estas funciones para pasar entre juegos de caracteres fueron publicadas originalmente en WebToolkit.info, aunque os recomiendo descargarlas directamente de las librerías php.js, pues varios contribuidores las han mejorado y han reparado algunos errores que se han detectado.