24 abril, 2008

Internacionalización

Interesante explicación sobre internacionalización (o i18n) por parte de Google. Explica la historia de las codificaciones, empezando por la simple ISO-8859-1, y siguiendo por ISO-8859-15, UCS-2 (Unicode), UTF-16, UTF-32 y, por fin, UTF-8, el estándar de longitud variable por carácter más recomendado para aplicaciones web y bases de datos:

UTF-8 es idéntico a ASCII para todos los carácteres inferiores a 128, y usa uno o varios bytes extra (hasta un máximo de 4) cuando tiene que almacenar un número superior a 128. Cualquier texto ASCII en inglés es automáticamente un texto UTF-8 válido. Los textos europeos son en torno a un 2% más grandes que usando ISO-8859-15, ya que sólo los carácteres acentuados aumentan de tamaño. Los únicos que realmente salen perdiendo son aquellos que tenían un alfabeto pequeño (griego, ruso, ...) sin nada en común con el inglés, ya que antes podían codificar cada carácter con un 1 byte y ahora necesitan más. UTF-8 no usa ningún byte 0 en su codificación, y funciones como strcpy funcionan con textos UTF-8.


A parte aconsejan no usar editores de texto que añadan el carácter BOM (EF BB BF) al principio del documento, típica fuente de errores al programar con PHP al generar una salida que no es visible en el editor.

Publicar un comentario en la entrada

Últimos links en indiza.com