Mojibake

Mojibake (文字 化 け ) Es un préstamo léxico del japonés, lo que significa que los caracteres que se muestran en la pantalla del software de la computadora no se muestran correctamente debido a un problema de codificación . En lenguaje cotidiano y ante un elemento ilegible, el francés dirá "Veo jeroglíficos" . Este concepto es similar al concepto de krakozyabry (кракозя́бры).

Historia

Los problemas de codificación de caracteres surgieron tan pronto como aparecieron las codificaciones EBCDIC y ASCII en la década de 1960 .

La conexión en red de varios dispositivos electrónicos que utilizan diferentes convenciones para la codificación de caracteres ha agravado el problema.

Sin embargo, con la aparición de Unicode y la aparición de indicadores de codificación, el problema podría reducirse a un problema de interoperabilidad.

Etimología

La palabra japonesa文字 化 け( mojibake ) Se compone de文字( moji ), Que significa carácter y化 け( hornear ), Derivado del verbo化 け る( bakeru ), Que significa aparecer disfrazado, para tomar la forma de, para cambiar a peor . Por lo tanto , literalmente mojibake significa "cambio de carácter".

Causas

El fenómeno mojibake ocurre cuando la codificación de caracteres utilizada para grabar texto es diferente a la utilizada para mostrarlo, porque el middleware no ha realizado la conversión necesaria.

Esto está ligado a algunas tecnologías particulares que no dan la información correcta sobre la codificación de caracteres, o que dan información contradictoria, como hoy el archivo de texto o la web, aunque según las RFC, otros protocolos se han visto afectados en el pasado.

Caso web

En el caso de una página web, la codificación utilizada se puede especificar explícitamente mediante una etiqueta HTML o mediante un encabezado HTTP , para que el navegador pueda mostrar el texto con la codificación en la que fue escrito. Sin embargo, si esta información es incorrecta o falta, se mostrarán los caracteres incorrectos. Por ejemplo, si la palabra " 文字 化 け " está codificada en UTF-8 pero decodificada como ISO / IEC 8859-1 , el navegador mostrará los caracteres "æ– ‡ å - åŒ - ã ?? ' ". Cuando la codificación no se especifica explícitamente, la mayoría de los navegadores modernos utilizan heurística para intentar determinar la codificación del texto en el caso de que se seleccione la opción de "detección automática de codificación" y utilizan la codificación predeterminada en el caso contrario.

Caso japonés

El Mojibake está particularmente extendido en Japón (de ahí la necesidad de crear una palabra para nombrarlo) porque hay varias codificaciones posibles para escribir japonés. En particular, la familia ISO / IEC 2022 ( Shift-JIS , EUC-JP ) es más compleja y posiblemente no sea compatible con todo el software. También se utiliza UTF-8 . Sin embargo, dependiendo del sistema operativo , la codificación predeterminada no es la misma. Por lo tanto, si falta la información sobre la codificación de una página, la codificación predeterminada utilizada para mostrar la página no será la misma. Como resultado, la página será mojibake si no se muestra en el mismo sistema operativo con el que se escribió.

Además, es posible que existan otros problemas de interoperabilidad, ya que algunos programas pueden no tener en cuenta que algunas extensiones multibyte de ASCII usan caracteres en el rango ASCII como bytes después del primero.

Soluciones

Sin embargo, el problema de mojibake no se limita solo a las páginas web. En Windows , algunas aplicaciones se denominan “Unicode” (aplicación que se ejecuta en cualquier idioma de Windows) y otras están localizadas. Si una aplicación japonesa no es Unicode, un usuario de una versión francesa de Windows deberá cambiar todo el sistema operativo al modo japonés para poder verla correctamente. Las aplicaciones japonesas serán legibles, pero las aplicaciones francesas que no sean Unicode se convertirán a su vez en mojibake .

También puede suceder recibir mensajes de texto cortos en chino cuando el remitente afirma no haber enviado nada. A menudo, esto no es un truco, sino un simple acuse de recibo mal codificado, por ejemplo:

  1. Mensaje de texto recibido =浥 獳 慧 攠 ⁴ 漠 〱 ㈳ 㐵 㘷 㠹 〠 獵 捣 敥 摥 搮
  2. Convertido a bytes en UTF- 16BE codificación = 6D65 7373 6167 6520 2074 6F20 3031 3233 3435 3637 3839 3020 7375 6363 6565 6465 642E
  3. Formateado en UTF-8 (agregando espacios) = 6D 65 73 73 61 67 65 20 20 74 6F 20 30 31 32 33 34 35 36 37 38 39 30 20 73 75 63 63 65 65 64 65 64 2E
  4. Interpretado como caracteres UTF-8 = " mensaje al 01234567890 realizado correctamente " .

Referencias

  1. (en) "  convertidor de código Unicode  " en github.io .

enlaces externos