La respuesta corta es: UTF-8 es un formato para codificar caracteres Unicode utilizando secuencias de bytes.
Y qué es Unicode?
Probablemente muchos de ustedes hayan oído hablar de los sistemas de codifiación, los que hablamos español estamos muy acostumbrado al famoso ASCII si, ese que nos ayuda a sacar las tildes 😛
Pues asi como el ASCII hay muchísimos sistemas de codificación que lo usan en otros idiomas e incluso un mismo idioma puede tener varios sistemas de codificación que varía por la plataforma en la que se ejecuta. Y como hacemos para arreglar todo este embrollo? como hago para poder ver páginas de anime japonés con sus caracteres reales y no solamente unos cuadrados? como hacen los hebreos para poder leer correctamente algo en francés o ruso? La respuesta a todo es Unicode!
Unicode proporciona un número único para cada carácter, sin importar la plataforma, sin importar el programa, sin importar el idioma.
photo credit: sillygwailo
Dicho todo esto, volvamos con UTF-8 !
UTF-8 se lo debemos al maestro Ken_Thompson, si uno de los genios detrás de Unix y el creador de Plan 9
UTF-8 usa grupos de bytes para representar el estándar de Unicode para los alfabetos de muchos de los lenguajes del mundo. Es especialmente útil para la transmisión sobre sistemas de correo de 8 bits.
Usa de 1 a 4 bytes por carácter, dependiendo del símbolo de Unicode. Por ejemplo, se necesita un solo byte en UTF-8 para codificar los 128 caracteres US-ASCII en el rango U+0000 a U+007F de Unicode.
Para todos aquellos que tenemos necesidad de programar usar UTF-8 nos ha servido para aliviar muchísimos dolores de cabeza, especialmente para los que hablamos español y tenemos necesidad de colocar tildes y algunos caracteres especiales, y muchas veces teníamos que hacerlo con software que no contemplaban esas posibilidades. Ahora casi todo el software que usamos y que tiene que ver con manipulación de documentos soportan este formato.
Para los que son webmasters UTF-8 es especialmente importante porque les ahorrará muchos problemas con los navegadores, webservers y las aplicaciones que escriban.
Si quieres verificar que tú sistema y navegador soportan UTF-8 (lo raro sería que no lo soporte) puedes abrir este archivo de texto :
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
Si ves todos los caracteres no tienes problemas, pero si ves puros cuadrados o caracteres sin ningún tipo de secuencia lógica entonces estas usando un sistema de codificación alterno como ISO-8859-1 busca en tu navegador y lo cambias, aunque mi blog esta codificado para UTF-8 y le avisa al browser que debería de utilizar UTF-8 para interpretar todo.
Slayer,
Corrígeme si me equivoco, pero hasta donde recordaba ASCII sólo utiliza 7 bits para codificar los caracteres, dentro de los cuales no se contemplan los que usamos con tildes.
Para esto, en Windows normalmente se utiliza ISO-8859-1 o antíguamente CP850 en DOS.
Jj:
No lo recuerdo exactamente pero yo hacía directa referencia a el uso de códigos ASCII para poder sacar las vocales tildadas como ALT + 160 para la á