LaTeX y compañía

Informacion sobre LaTeX y programas relacionados

9.3.09

Aqui veo texto chino

Esta entrada puede parecer off-topic (lo es), pero no he podido resistirme a ponerla. Además, como veremos, no está tan alejada de tema como pueda parecer.

Haz lo siguiente: abre el bloc de notas de Windows. Escribe dentro el siguiente texto (sin pulsar retorno de carro al final de la línea):

Aqui veo texto chino

Guarda el documento con el nombre que quieras y sal del bloc de notas. Ahora abre de nuevo el documento y... ¡sorpresa! ¡Todo sale en chino! Compruebalo.

A pesar de que pueda parecer un huevo de pascua, es en realidad un bug del bloc de notas. El asunto está explicado en Wikipedia, y aquí es donde hay una pequeña relación con el tema del blog. El asunto de las diferentes codificaciones de un fichero (latin1, utf8, etc) es un tema que aparece frecuentemente al migrar documentos latex de una plataforma a otra.

El problema básicamente proviene de que un archivo de texto "plano" no contiene información acerca de qué codificación utilizó el editor que lo creó. Ante esta ausencia de información, al abrir el documento el editor puede tomar diferentes estrategias: asumir que está en una odificación ampliamente utilizada como pueda ser ISO-8859-1 o Windows-1512, intentar "adivinar" qué codificación puede estar usando el fichero haciendo un análisis de los códigos que contiene, o no intentar adivinar ni suponer nada, sino dejar que el usuario especifique cómo debe interpretarse el fichero (ya sea mediante opciones del editor o ya sea leyendo el valor de las variables de entorno que especifican el lenguaje nativo del usuario).

En el caso del bloc de notas de Windows, la opción elegida es la segunda, esto es, intentar adivinar la codificación del fichero. Como vemos, su algoritmo falla en algunos casos ya que el texto que yo he puesto más arriba, escrito en castellano y en codificación ASCII, es tomado por texto chino en Unicode. Según Wikipedia, bug se dispara por cualquier texto corto formados por secuencias de 4 códigos ASCII + espacio + 3 ASCII + espacio + 3 ASCII + espacio + 5 ASCII. Aunque, como puede comprobarse, el texto que yo he descubierto no sigue esta secuencia estrictamente y sin embargo también dispara el bug (parece que la clave es el inicio 4+3+3)

Ah, tampoco he podido resistirme a traducir con Google el texto chino resultante. Al parecer dice algo como "Brasero muy árido, torsión de retención-Ching Chao" :-D

Comentarios:

  1. Ciertamente curioso.

    Yo utilizo el bloc de notas cuando no tengo disponible ningún editor de LaTeX.
     
Publicar un comentario en la entrada
 
 

Powered by Blogger