De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda
El UTF-8 codificados con el artículo japonesa de Wikipedia para mojibake como se muestra si se interpreta como de Windows-1252 de codificación

Mojibake (文字 化 け; IPA:  [mod͡ʑibake] ) es el texto distorsionado que es el resultado de la descodificación del texto mediante una codificación de caracteres no intencionada . [1] El resultado es un reemplazo sistemático de símbolos por otros completamente no relacionados, a menudo de un sistema de escritura diferente .

Esta pantalla puede incluir el carácter de reemplazo genérico (" ") en lugares donde la representación binaria se considera inválida. Un reemplazo también puede involucrar múltiples símbolos consecutivos, como se ve en una codificación, cuando el mismo código binario constituye un símbolo en la otra codificación. Esto se debe a una codificación de longitud constante diferente (como en las codificaciones asiáticas de 16 bits frente a las codificaciones europeas de 8 bits) o al uso de codificaciones de longitud variable (en particular, UTF-8 y UTF-16 ).

La representación incorrecta de glifos debido a fuentes faltantes o glifos faltantes en una fuente es un problema diferente que no debe confundirse con mojibake. Los síntomas de esta representación fallida incluyen bloques con el punto de código mostrado en hexadecimal o usando el carácter de reemplazo genérico. Es importante destacar que estos reemplazos son válidos y son el resultado del manejo correcto de errores por parte del software.

Etimología [ editar ]

Mojibake significa "transformación de carácter" en japonés . La palabra se compone de文字(moji, IPA:  [mod͡ʑi] ), "carácter" y化 け(hornear, IPA:  [bäke̞] , pronunciado "bah-keh"), "transformar".

Causas [ editar ]

Para reproducir correctamente el texto original que fue codificado, se debe preservar la correspondencia entre los datos codificados y la noción de su codificación. Como mojibake es el caso de incumplimiento entre estos, se puede lograr manipulando los datos en sí o simplemente volviéndolos a etiquetar.

Mojibake se ve a menudo con datos de texto que han sido etiquetados con una codificación incorrecta; es posible que ni siquiera esté etiquetado en absoluto, sino que se mueva entre computadoras con diferentes codificaciones predeterminadas. Una fuente importante de problemas son los protocolos de comunicación que dependen de la configuración de cada computadora en lugar de enviar o almacenar metadatos junto con los datos.

Las diferentes configuraciones predeterminadas entre computadoras se deben en parte a las diferentes implementaciones de Unicode entre las familias de sistemas operativos y, en parte, a las especializaciones de las codificaciones heredadas para diferentes sistemas de escritura de lenguajes humanos. Mientras que las distribuciones de Linux cambiaron principalmente a UTF-8 en 2004, [2] Microsoft Windows todavía usa páginas de códigos para archivos de texto que difieren entre idiomas. [ dudoso ]

Para algunos sistemas de escritura , un ejemplo es el japonés , históricamente se han empleado varias codificaciones, lo que hace que los usuarios vean mojibake con relativa frecuencia. Como ejemplo japonés, la palabra mojibake "文字 化 け" almacenada como EUC-JP podría mostrarse incorrectamente como "ハ ク サ ス 、 ア", "ハ ク サ 嵂 ス 、 ア" ( MS-932 ) o "ハ ク サ 郾 ス 、 ア"( Turno JIS-2004 ). El mismo texto almacenado como UTF-8 se muestra como "譁 蟄 怜 喧 縺 " si se interpreta como Shift JIS. Esto se agrava aún más si hay otras configuraciones regionales involucradas: el mismo texto UTF-8 aparece como "æ– ‡ å — åŒ – ã ?? '" en el software que asume que el texto está en Windows-1252 o ISO-8859-1codificaciones, generalmente etiquetadas como Occidental, o (por ejemplo) como "鏂 囧 瓧 鍖 栥 亼" si se interpreta como en una configuración regional de GBK (China continental).

Subespecificación [ editar ]

Si no se especifica la codificación, es el software quien decide por otros medios. Dependiendo del tipo de software, la solución típica es la configuración o la heurística de detección de juego de caracteres . Ambos son propensos a errores de predicción en escenarios no tan infrecuentes.

La codificación de archivos de texto se ve afectada por la configuración regional , que depende del idioma del usuario, la marca del sistema operativo y posiblemente otras condiciones. Por lo tanto, la codificación asumida es sistemáticamente incorrecta para archivos que provienen de una computadora con una configuración diferente, o incluso de un software localizado de manera diferente dentro del mismo sistema. Para Unicode, una solución es usar una marca de orden de bytes , pero para el código fuente y otro texto legible por máquina, muchos analizadores no toleran esto. Otro es almacenar la codificación como metadatos en el sistema de archivos. Los sistemas de archivos que admiten atributos de archivo extendidos pueden almacenar esto como user.charset. [3] Esto también requiere soporte en software que quiera aprovecharlo, pero no moleste a otro software.

Si bien algunas codificaciones son fáciles de detectar, en particular UTF-8, hay muchas que son difíciles de distinguir (ver detección de juego de caracteres ). Es posible que un navegador web no pueda distinguir una página codificada en EUC-JP y otra en Shift-JIS si el esquema de codificación no se asigna explícitamente usando encabezados HTTP enviados junto con los documentos, o usando las metaetiquetas del documento HTML que se utilizan para sustituya los encabezados HTTP faltantes si el servidor no puede configurarse para enviar los encabezados HTTP adecuados; ver codificaciones de caracteres en HTML .

Especificación incorrecta [ editar ]

Mojibake también ocurre cuando la codificación se especifica incorrectamente. Esto sucede a menudo entre codificaciones que son similares. Por ejemplo, se sabía que el cliente de correo electrónico Eudora para Windows enviaba correos electrónicos etiquetados como ISO-8859-1 que en realidad eran Windows-1252 . [4] La versión Mac OS de Eudora no mostró este comportamiento. Windows-1252 contiene caracteres imprimibles adicionales en el rango C1 (los que se ven con mayor frecuencia son las comillas y guiones tipográficamente correctos ), que no se mostraban correctamente en el software que cumple con el estándar ISO; este software especialmente afectado que se ejecuta en otros sistemas operativos, comoUnix .

Ignorancia humana [ editar ]

De las codificaciones todavía en uso, muchas son parcialmente compatibles entre sí, con ASCII como el subconjunto común predominante. Esto prepara el escenario para la ignorancia humana:

  • La compatibilidad puede ser una propiedad engañosa, ya que el subconjunto común de caracteres no se ve afectado por una combinación de dos codificaciones (consulte Problemas en diferentes sistemas de escritura ).
  • Las personas piensan que están usando ASCII y tienden a etiquetar cualquier superconjunto de ASCII que realmente usan como "ASCII". Quizás para simplificar, pero incluso en la literatura académica, la palabra "ASCII" se puede encontrar usada como un ejemplo de algo no compatible con Unicode, donde evidentemente "ASCII" es Windows-1252 y "Unicode" es UTF-8. [1] Tenga en cuenta que UTF-8 es retrocompatible con ASCII.

Sobreespecificación [ editar ]

Cuando hay capas de protocolos, cada uno de los cuales intenta especificar la codificación basándose en información diferente, la menor cantidad de información determinada puede inducir a error al destinatario. Por ejemplo, considere un servidor web que sirve un archivo HTML estático a través de HTTP. El conjunto de caracteres se puede comunicar al cliente de tres formas distintas:

  • en el encabezado HTTP. Esta información puede basarse en la configuración del servidor (por ejemplo, cuando se sirve un archivo fuera del disco) o puede estar controlada por la aplicación que se ejecuta en el servidor (para sitios web dinámicos).
  • en el archivo, como una metaetiqueta HTML ( http-equivo charset) o el encodingatributo de una declaración XML . Esta es la codificación en la que el autor quiso guardar el archivo en particular.
  • en el archivo, como una marca de orden de bytes . Esta es la codificación en la que el editor del autor realmente la guardó. A menos que haya ocurrido una conversión de codificación accidental (abriéndola en una codificación y guardándola en otra), esto será correcto. Sin embargo, solo está disponible en codificaciones Unicode como UTF-8 o UTF-16.

Falta de soporte de hardware o software [ editar ]

El hardware mucho más antiguo generalmente está diseñado para admitir un solo juego de caracteres y el juego de caracteres generalmente no se puede modificar. La tabla de caracteres contenida en el firmware de la pantalla se localizará para tener caracteres del país en el que se venderá el dispositivo y, por lo general, la tabla difiere de un país a otro. Como tal, estos sistemas mostrarán potencialmente mojibake cuando carguen texto generado en un sistema de un país diferente. Del mismo modo, muchos de los primeros sistemas operativos no admiten múltiples formatos de codificación y, por lo tanto, terminarán mostrando mojibake si se hace para mostrar texto no estándar: versiones anteriores de Microsoft Windows y Palm OS. por ejemplo, están localizados por país y solo admitirán estándares de codificación relevantes para el país en el que se venderá la versión localizada, y mostrarán mojibake si un archivo que contiene un texto en un formato de codificación diferente de la versión que el sistema operativo está diseñado para soportar está abierto.

Resoluciones [ editar ]

Las aplicaciones que utilizan UTF-8 como codificación predeterminada pueden lograr un mayor grado de interoperabilidad debido a su uso generalizado y compatibilidad con US-ASCII . UTF-8 también tiene la capacidad de ser reconocido directamente por un algoritmo simple, por lo que un software bien escrito debería poder evitar mezclar UTF-8 con otras codificaciones.

La dificultad de resolver una instancia de mojibake varía según la aplicación en la que se produzca y las causas. Dos de las aplicaciones más comunes en las que se puede producir mojibake son los navegadores web y los procesadores de texto . Los navegadores y procesadores de texto modernos a menudo admiten una amplia gama de codificaciones de caracteres. Los navegadores a menudo permiten al usuario cambiar la configuración de codificación de su motor de renderizado sobre la marcha, mientras que los procesadores de texto permiten al usuario seleccionar la codificación adecuada al abrir un archivo. Es posible que los usuarios necesiten un poco de prueba y error para encontrar la codificación correcta.

El problema se complica cuando ocurre en una aplicación que normalmente no admite una amplia gama de codificación de caracteres, como en un juego de computadora que no es Unicode. En este caso, el usuario debe cambiar la configuración de codificación del sistema operativo para que coincida con la del juego. Sin embargo, cambiar la configuración de codificación de todo el sistema también puede causar Mojibake en aplicaciones preexistentes. En Windows XP o posterior, un usuario también tiene la opción de usar Microsoft AppLocale , una aplicación que permite cambiar la configuración regional por aplicación. Aun así, cambiar la configuración de codificación del sistema operativo no es posible en sistemas operativos anteriores como Windows 98; para resolver este problema en los sistemas operativos anteriores, el usuario tendría que utilizar aplicaciones de representación de fuentes de terceros.

Problemas en diferentes sistemas de escritura [ editar ]

Inglés [ editar ]

Mojibake en los textos en inglés generalmente se presenta con signos de puntuación, como guiones (-), guiones (-) y comillas entrecruzadas (“,”, ','), pero rara vez en el texto de caracteres, ya que la mayoría de las codificaciones concuerdan con ASCII en la codificación del alfabeto inglés . Por ejemplo, el signo de almohadilla "£" aparecerá como " £" si el remitente lo codificó como UTF-8 pero el destinatario lo interpretó como CP1252 o ISO 8859-1 . Si se repite utilizando CP1252, esto puede llevar a " £", "Ã⠀ šÃ‚ £", "ÃÆ'à ¢ €šÃ⠀ šÃ‚ £", etc.

Algunas computadoras, en épocas más antiguas, tenían codificaciones específicas del proveedor, lo que provocaba discrepancias también para el texto en inglés. Las computadoras de 8 bits de la marca Commodore usaban codificación PETSCII , particularmente notable por invertir las mayúsculas y minúsculas en comparación con ASCII estándar . Las impresoras PETSCII funcionaban bien en otras computadoras de la época, pero cambiaban la caja de todas las letras. Los mainframes de IBM utilizan la codificación EBCDIC que no coincide en absoluto con ASCII.

Otros idiomas de Europa occidental [ editar ]

Los alfabetos de las lenguas germánicas del norte , catalán , finlandés , alemán , francés , portugués y español son extensiones del alfabeto latino . Los caracteres adicionales suelen ser los que se corrompen, lo que hace que los textos solo sean levemente ilegibles con mojibake:

  • å , ä , ö en finlandés y sueco
  • à, ç, è, é, ï, í, ò, ó, ú, ü en catalán
  • æ , ø , å en noruego y danés
  • á, é, ó, ij , è, ë, ï en holandés
  • ä, ö, ü y ß en alemán
  • á, ð , í , ó , ú , ý , æ, ø en feroés
  • á, ð, é , í, ó, ú, ý, þ , æ, ö en islandés
  • à, â, ç, è, é, ë, ê, ï, î, ô, ù, û, ü, ÿ, æ, œ en francés
  • à, è, é, ì, ò, ù en italiano
  • á, é, í, ñ , ó, ú, ü, ¡, ¿ en español
  • à, á, â, ã, ç, é, ê, í, ó, ô, õ, ú en portugués ( ü ya no se usa)
  • á, é, í, ó, ú en irlandés
  • à, è, ì, ò, ù en gaélico escocés
  • £ en inglés británico

… Y sus contrapartes en mayúsculas, si corresponde.

Estos son idiomas para los que se ha utilizado el juego de caracteres ISO-8859-1 (también conocido como Latin 1 u Western ). Sin embargo, ISO-8859-1 ha quedado obsoleto por dos estándares competidores, el Windows-1252 compatible con versiones anteriores y el ISO-8859-15 ligeramente alterado . Ambos añaden el signo euro € y el francés œ, pero por lo demás, cualquier confusión de estos tres conjuntos de caracteres no crea mojibake en estos idiomas. Además, siempre es seguro interpretar ISO-8859-1 como Windows-1252, y bastante seguro interpretarlo como ISO-8859-15, en particular con respecto al signo del euro, que reemplaza al signo de moneda que se usa raramente (¤). . Sin embargo, con la llegada de UTF-8, mojibake se ha vuelto más común en ciertos escenarios, por ejemplo, el intercambio de archivos de texto entre computadoras UNIX y Windows , debido a la incompatibilidad de UTF-8 con Latin-1 y Windows-1252. Pero UTF-8 tiene la capacidad de ser reconocido directamente por un algoritmo simple, por lo que un software bien escrito debería poder evitar mezclar UTF-8 con otras codificaciones, por lo que esto era más común cuando muchos tenían software que no era compatible con UTF-8. La mayoría de estos lenguajes eran compatibles con el CP437 predeterminado de MS-DOS y otras codificaciones predeterminadas de la máquina, excepto ASCII, por lo que los problemas al comprar una versión del sistema operativo eran menos comunes. Sin embargo, Windows y MS-DOS no son compatibles.

En sueco, noruego, danés y alemán, las vocales rara vez se repiten, y suele ser obvio cuando un carácter se corrompe, por ejemplo, la segunda letra de "kärlek" ( kärlek , "amor"). De esta forma, aunque el lector tenga que adivinar entre å, ä y ö, casi todos los textos permanecen legibles. El texto finlandés, por otro lado, presenta vocales repetidas en palabras como hääyö ("noche de bodas") que a veces puede hacer que el texto sea muy difícil de leer (por ejemplo, hääyö aparece como "hääyöyö"). El islandés y el feroés tienen diez y ocho caracteres posiblemente confusos, respectivamente, lo que puede hacer que sea más difícil adivinar los caracteres corruptos; Palabras en islandés como þjóðlöð ("hospitalidad excepcional") se vuelve casi completamente ininteligible cuando se traduce como "þjóà ° löà °".

En alemán, Buchstabensalat ( "ensalada letra") es un término común para este fenómeno, y en español, Deformación (literalmente deformación).

Algunos usuarios transliteran su escritura cuando usan una computadora, ya sea omitiendo los diacríticos problemáticos o usando reemplazos de dígrafos (å → aa, ä / æ → ae, ö / ø → oe, ü → ue, etc.). Por lo tanto, un autor puede escribir "ueber" en lugar de "über", que es una práctica estándar en alemán cuando no se dispone de diéresis . Esta última práctica parece tolerarse mejor en el ámbito del idioma alemán que en los países nórdicos . Por ejemplo, en noruego, los dígrafos están asociados con el danés arcaico y pueden usarse en broma. Sin embargo, los dígrafos son útiles para comunicarse con otras partes del mundo. Por ejemplo, el jugador de fútbol noruego Ole Gunnar Solskjær tenía su nombre escrito "SOLSKJAER" en la espalda cuando jugaba para el Manchester United..

Un artefacto de UTF-8 malinterpretado como ISO-8859-1 , "Ring meg nà ¥" (" Ring meg nå "), se vio en una estafa de SMS que se desata en Noruega en junio de 2014. [5]

Europa central y oriental [ editar ]

Los usuarios de idiomas de Europa central y oriental también pueden verse afectados. Debido a que la mayoría de las computadoras no estaban conectadas a ninguna red desde mediados hasta fines de la década de 1980, hubo diferentes codificaciones de caracteres para cada idioma con caracteres diacríticos (consulte ISO / IEC 8859 y KOI-8 ), que a menudo también varían según el sistema operativo.

Húngaro [ editar ]

El húngaro es otro idioma afectado, que utiliza los 26 caracteres básicos del inglés, más las formas acentuadas á, é, í, ó, ú, ö, ü (todas presentes en el conjunto de caracteres Latin-1), más los dos caracteres ő y ű, que no están en Latin-1. Estos dos caracteres se pueden codificar correctamente en Latin-2, Windows-1250 y Unicode. Antes de que Unicode se volviera común en los clientes de correo electrónico, los correos electrónicos que contenían texto en húngaro a menudo tenían las letras ő y ű dañadas, a veces hasta el punto de ser irreconocibles. Es común responder a un correo electrónico que se vuelve ilegible (ver ejemplos a continuación) mediante la alteración de caracteres (denominado "betűszemét", que significa "carta basura") con la frase "Árvíztűrő tükörfúrógép", una frase sin sentido (literalmente "Flood- resistente perforadora de espejos ") que contiene todos los caracteres acentuados utilizados en húngaro.

Ejemplos [ editar ]
Nota: los caracteres en rojo son incorrectos.


Polaco [ editar ]

Antes de la creación de ISO 8859-2 en 1987, los usuarios de varias plataformas informáticas utilizaban sus propias codificaciones de caracteres , como AmigaPL en Amiga, Atari Club en Atari ST y Masovia, IBM CP852 , Mazovia y Windows CP1250 en PC IBM. Las empresas polacas que vendían las primeras computadoras DOS crearon sus propias formas mutuamente incompatibles de codificar caracteres polacos y simplemente reprogramaron las EPROM de las tarjetas de video (generalmente CGA , EGA o Hercules ) para proporcionar páginas de códigos de hardware. con los glifos necesarios para el polaco, ubicados arbitrariamente sin hacer referencia a dónde los habían colocado otros vendedores de computadoras.

La situación comenzó a mejorar cuando, después de la presión de grupos académicos y de usuarios, ISO 8859-2 tuvo éxito como el "estándar de Internet" con un apoyo limitado del software de los proveedores dominantes (hoy en gran parte reemplazado por Unicode). Con los numerosos problemas causados ​​por la variedad de codificaciones, incluso hoy en día algunos usuarios tienden a referirse a los caracteres diacríticos polacos como krzaczki ([kshach-kih], literalmente "pequeños arbustos").

Ruso y otros alfabetos cirílicos [ editar ]

Mojibake causado por el título de una canción en cirílico ( Моя Страна ) en un sistema de audio para automóvil

Mojibake se puede llamar coloquialmente krakozyabry ( кракозя́бры [krɐkɐˈzʲæbrɪ̈] ) en ruso , que fue y sigue siendo complicado por varios sistemas de codificación cirílico . [6] La Unión Soviética y la Federación de Rusia tempranadesarrollaron codificaciones KOI ( Kod Obmena Informatsiey , Код Обмена Информацией , que se traduce como "Código para el intercambio de información"). Esto comenzó con KOI7 de 7 bits solo en cirílico , basado en ASCII pero con caracteres latinos y algunos otros reemplazados por letras cirílicas. Luego vino lacodificación KOI8 de 8 bitsque es una extensión ASCIIque codifica letras cirílicas solo con octetos de conjunto de bits altos correspondientes a códigos de 7 bits de KOI7. Es por esta razón que el texto de KOI8, incluso en ruso, sigue siendo parcialmente legible después de eliminar el octavo bit, lo que se consideraba una gran ventaja en la era de los sistemas de correo electrónico 8BITMIME, que no eran compatibles. Por ejemplo, las palabras " Школа русского языка " shkola russkogo yazyka , codificadas en KOI8 y luego pasadas por el proceso de eliminación de bits altos, terminan representadas como "[KOLA RUSSKOGO qZYKA". Finalmente, KOI8 ganó diferentes sabores para ruso y búlgaro ( KOI8-R ), ucraniano ( KOI8-U ), bielorruso (KOI8-RU) e incluso tayiko (KOI8-T).

Mientras tanto, en Occidente, la página de código 866 admitía ucraniano y bielorruso , así como ruso / búlgaro en MS-DOS . Para Microsoft Windows , la página de códigos 1251 agregó soporte para el serbio y otras variantes eslavas del cirílico .

Más recientemente, la codificación Unicode incluye puntos de código para prácticamente todos los caracteres de todos los idiomas del mundo, incluidos todos los caracteres cirílicos.

Antes de Unicode, era necesario hacer coincidir la codificación de texto con una fuente utilizando el mismo sistema de codificación. No hacer esto produjo un galimatías ilegible cuya apariencia específica variaba dependiendo de la combinación exacta de codificación de texto y codificación de fuente. Por ejemplo, intentar ver texto cirílico no Unicode usando una fuente que está limitada al alfabeto latino, o usando la codificación predeterminada ("Occidental"), generalmente da como resultado un texto que consiste casi en su totalidad en vocales con marcas diacríticas. (KOI8 " Библиотека " ( biblioteka, biblioteca) se convierte en "âÉÂÌÉÏÔÅËÁ".) El uso de la página de códigos 1251 de Windows para ver texto en KOI8 o viceversa da como resultado un texto confuso que consiste principalmente en letras mayúsculas (KOI8 y la página de códigos 1251 comparten la misma región ASCII, pero KOI8 tiene letras mayúsculas en la región donde la página de códigos 1251 tiene minúsculas y viceversa). En general, el galimatías cirílico es sintomático de utilizar una fuente cirílica incorrecta. Durante los primeros años del sector ruso de la World Wide Web, tanto KOI8 como la página de códigos 1251 eran comunes. A partir de 2017, todavía se pueden encontrar páginas HTML en la página de códigos 1251 y, rara vez, codificaciones KOI8, así como Unicode. (Se estima que el 1,7% de todas las páginas web en todo el mundo, incluidos todos los idiomas, están codificadas en la página de códigos 1251. [7]) Aunque el estándar HTML incluye la capacidad de especificar la codificación para cualquier página web dada en su fuente, [8] esto a veces se descuida, lo que obliga al usuario a cambiar las codificaciones en el navegador manualmente.

En búlgaro , mojibake a menudo se llama majmunica ( маймуница ), que significa "[alfabeto] del mono". En serbio , se llama đubre ( ђубре ), que significa " basura ". A diferencia de la antigua URSS, los eslavos del sur nunca usaron algo como KOI8, y la página de códigos 1251 era la codificación cirílica dominante allí antes de Unicode. Por lo tanto, estos idiomas experimentaron menos problemas de incompatibilidad de codificación que el ruso. En la década de 1980, las computadoras búlgaras usaban su propia codificación MIK , que es superficialmente similar (aunque incompatible con) CP866.

Lenguas yugoslavas [ editar ]

El croata , el bosnio , el serbio (las variantes del idioma yugoslavo serbocroata ) y el esloveno agregan al alfabeto latino básico las letras š, đ, č, ć, ž y sus contrapartes mayúsculas Š, Đ, Č, Ć, Ž ( sólo č / Č, š / Š y ž / Ž en esloveno; oficialmente, aunque otros se utilizan cuando es necesario, sobre todo en nombres extranjeros, también). Todas estas letras están definidas en Latin-2 y Windows-1250 , mientras que solo algunas (š, Š, ž, Ž, Đ) existen en el sistema operativo predeterminado Windows-1252 , y están ahí debido a algunos otros idiomas.

Aunque Mojibake puede ocurrir con cualquiera de estos caracteres, las letras que no están incluidas en Windows-1252 son mucho más propensas a errores. Así, incluso hoy en día, "šđčćž ŠĐČĆŽ" se muestra a menudo como "šðèæž ŠÐÈÆŽ", aunque ð, è, æ, È, Æ nunca se utilizan en lenguas eslavas.

Cuando se limita a ASCII básico (la mayoría de los nombres de usuario, por ejemplo), los reemplazos comunes son: š → s, đ → dj, č → c, ć → c, ž → z (las mayúsculas son análogas, con Đ → Dj o Đ → DJ dependiendo del caso de la palabra). Todos estos reemplazos introducen ambigüedades, por lo que la reconstrucción del original a partir de dicho formulario generalmente se realiza manualmente si es necesario.

La codificación Windows-1252 es importante porque las versiones en inglés del sistema operativo Windows son las más extendidas, no las localizadas. [ cita requerida ] Las razones de esto incluyen un mercado relativamente pequeño y fragmentado, que aumenta el precio de la localización de alta calidad, un alto grado de piratería de software (a su vez causado por el alto precio del software en comparación con los ingresos), que desalienta los esfuerzos de localización, y personas que prefieren versiones en inglés de Windows y otro software. [ cita requerida ]

El impulso para diferenciar croata de serbio, bosnio de croata y serbio, y ahora incluso montenegrinode los otros tres crea muchos problemas. Hay muchas localizaciones diferentes, que utilizan diferentes estándares y de diferente calidad. No existen traducciones comunes para la gran cantidad de terminología informática que se origina en inglés. Al final, la gente usa palabras en inglés adoptadas ("kompjuter" para "computadora", "kompajlirati" para "compilar", etc.), y si no están acostumbrados a los términos traducidos, es posible que no entiendan lo que se supone que alguna opción en un menú hacer según la frase traducida. Por lo tanto, las personas que entienden inglés, así como las que están acostumbradas a la terminología inglesa (que son la mayoría, porque la terminología inglesa también se enseña principalmente en las escuelas debido a estos problemas) eligen regularmente las versiones originales en inglés de software no especializado.

Cuando se usa escritura cirílica (para macedonio y parcialmente serbio ), el problema es similar a otras escrituras basadas en cirílico .

Las versiones más recientes de Windows en inglés permiten cambiar la página de códigos (las versiones anteriores requieren versiones especiales en inglés con este soporte), pero esta configuración puede estar configurada de manera incorrecta y a menudo se estableció de manera incorrecta. Por ejemplo, Windows 98 y Windows Me se pueden configurar para la mayoría de las páginas de códigos de un solo byte que no sean de derecha a izquierda, incluido 1250, pero solo en el momento de la instalación.

Lenguas caucásicas [ editar ]

Los sistemas de escritura de ciertos idiomas de la región del Cáucaso , incluidas las escrituras de georgiano y armenio , pueden producir mojibake. Este problema es particularmente agudo en el caso de ArmSCII o ARMSCII, un conjunto de codificaciones de caracteres obsoletas para el alfabeto armenio que han sido reemplazadas por los estándares Unicode. ArmSCII no se usa ampliamente debido a la falta de soporte en la industria de la computación. Por ejemplo, Microsoft Windows no lo admite.

Codificaciones asiáticas [ editar ]

Otro tipo de mojibake ocurre cuando el texto se analiza erróneamente en una codificación de varios bytes, como una de las codificaciones para los idiomas de Asia oriental . Con este tipo de mojibake más de uno (normalmente dos) caracteres se corrompen a la vez, por ejemplo, "k 舐 lek" ( kärlek ) en sueco, donde " är"se analiza como" 舐 ". En comparación con el mojibake anterior, esto es más difícil de leer, ya que faltan letras que no están relacionadas con las problemáticas å, ä o ö, y es especialmente problemático para palabras cortas que comienzan con å, ä o ö como "än" (que se convierte en "舅"). Dado que se combinan dos letras, el mojibake también parece más aleatorio (más de 50 variantes en comparación con las tres normales, sin contar las mayúsculas más raras). En algunos casos raros, una cadena de texto completa que sucede que incluye un patrón de longitudes de palabras particulares, como la oración " Bush ocultó los hechos ", puede ser malinterpretado.

Japonés [ editar ]

En japonés , el fenómeno se llama, como se mencionó, mojibake (文字 化 け) . Es un problema particular en Japón debido a las numerosas codificaciones diferentes que existen para el texto japonés. Además de las codificaciones Unicode como UTF-8 y UTF-16, existen otras codificaciones estándar, como Shift-JIS (máquinas Windows) y EUC-JP (sistemas UNIX). Mojibake, además de ser encontrado por usuarios japoneses, también es encontrado a menudo por no japoneses cuando intentan ejecutar software escrito para el mercado japonés.

Chino [ editar ]

En chino , el mismo fenómeno se llama Luàn mǎ ( Pinyin , chino simplificado 乱码, chino tradicional 亂碼, que significa 'código caótico'), y puede ocurrir cuando el texto computarizado se codifica en una codificación de caracteres chinos pero se muestra con la codificación incorrecta. Cuando esto ocurre, a menudo es posible solucionar el problema cambiando la codificación de caracteres sin pérdida de datos. La situación es complicada debido a la existencia de varios sistemas de codificación de caracteres chinos en uso, siendo los más comunes: Unicode , Big5 y Guobiao. (con varias versiones compatibles con versiones anteriores) y la posibilidad de que los caracteres chinos se codifiquen con codificación japonesa.

Es fácil identificar la codificación original cuando luanma ocurre en codificaciones Guobiao:

Se produce un problema adicional cuando faltan caracteres en las codificaciones, lo cual es común con caracteres raros o anticuados que todavía se usan en nombres personales o de lugares. Ejemplos de esto son los políticos taiwaneses Wang Chien-shien (chino:王建 煊; pinyin: Wáng Jiànxuān ) "煊", Yu Shyi-kun (chino simplificado:游锡堃; chino tradicional:游錫堃; pinyin: Yóu Xíkūn ) 's "堃 "y el cantante David Tao (chino:陶 喆; pinyin: Táo Zhé )" 喆 "desaparecido en Big5 , el ex primer ministro de la República Popular China Zhu Rongji (chino:朱镕基; pinyin: Falta la "镕" de Zhū ​​Róngjī ) en GB2312 , falta el símbolo de copyright "©" en GBK . [9]

Los periódicos han abordado este problema de diversas formas, incluido el uso de software para combinar dos personajes similares existentes; usando una imagen de la personalidad; o simplemente sustituyendo un carácter raro por un homófono con la esperanza de que el lector pueda hacer la inferencia correcta.

Texto índico [ editar ]

Un efecto similar puede ocurrir en las escrituras brahmica o índica del sur de Asia , usadas en lenguas indias o indo-arias como indostaní (hindi-urdu), bengalí , punjabi , marathi y otras, incluso si el conjunto de caracteres empleado es reconocido correctamente por la aplicación. Esto se debe a que, en muchas escrituras índicas, las reglas por las cuales los símbolos de letras individuales se combinan para crear símbolos para sílabas pueden no ser entendidas correctamente por una computadora que no cuente con el software apropiado, incluso si los glifos para las formas de las letras individuales están disponibles.

Un ejemplo de esto es el antiguo logo de Wikipedia , que intenta mostrar el carácter análogo a "wi" (la primera sílaba de "Wikipedia") en cada una de las muchas piezas del rompecabezas. La pieza del rompecabezas destinada a llevar el carácter devanagari para "wi" en su lugar se utiliza para mostrar el carácter "wa" seguido de una vocal modificadora "i" no emparejada , fácilmente reconocible como mojibake generado por una computadora no configurada para mostrar texto índico. [10] El logotipo rediseñado en mayo de 2010 ha corregido estos errores.

La idea de texto sin formato requiere que el sistema operativo proporcione una fuente para mostrar códigos Unicode. Esta fuente es diferente de un sistema operativo a otro para Singhala y crea glifos ortográficamente incorrectos para algunas letras (sílabas) en todos los sistemas operativos. Por ejemplo, el 'reph', la forma corta de 'r' es un diacrítico que normalmente va encima de una letra simple. Sin embargo, es incorrecto ir encima de algunas letras como 'ya' o 'la' en contextos específicos. Para palabras o nombres sánscritos heredados por idiomas modernos, como कार्य, IAST: kārya , o आर्या, IAST: āryā , es posible ponerlo encima de estas letras. Por el contrario, para sonidos similares en lenguajes modernos que resultan de sus reglas específicas, no se coloca en la parte superior, como la palabra करणाऱ्या, IAST:karaṇāryā, una forma de la raíz de la palabra común करणारा / री, IAST: karaṇārā / rī , en el idioma marathi . [11] Pero sucede en la mayoría de los sistemas operativos. Esto parece ser una falla en la programación interna de las fuentes. En Mac OS e iOS, la combinación muurdhaja l (l oscura) y 'u' y su forma larga producen formas incorrectas. [ cita requerida ]

Algunas secuencias de comandos índicas y derivadas de la índica, sobre todo lao , no fueron oficialmente compatibles con Windows XP hasta el lanzamiento de Vista . [12] Sin embargo, varios sitios han creado fuentes de descarga gratuita.

Birmano [ editar ]

Debido a las sanciones occidentales [13] y la llegada tardía del soporte del idioma birmano en las computadoras, [14] [15] gran parte de la localización birmana temprana fue de cosecha propia sin cooperación internacional. El medio predominante de soporte birmano es a través de la fuente Zawgyi , una fuente que se creó como fuente Unicode pero que de hecho solo era parcialmente compatible con Unicode. [15] En la fuente Zawgyi, algunos puntos de código para el script birmano se implementaron como se especifica en Unicode , pero otros no. [16] El Consorcio Unicode se refiere a esto como codificaciones de fuentes ad hoc . [17]Con la llegada de los teléfonos móviles, los proveedores de móviles como Samsung y Huawei simplemente reemplazaron las fuentes del sistema compatibles con Unicode con versiones Zawgyi. [14]

Debido a estas codificaciones ad hoc , las comunicaciones entre los usuarios de Zawgyi y Unicode se mostraban como texto confuso. Para solucionar este problema, los productores de contenido realizarían publicaciones tanto en Zawgyi como en Unicode. [18] El gobierno de Myanmar ha designado el 1 de octubre de 2019 como "Día U" para cambiar oficialmente a Unicode. [13] Se estima que la transición completa llevará dos años. [19]

Lenguas africanas [ editar ]

En ciertos sistemas de escritura de África , el texto no codificado es ilegible. Los textos que pueden producir mojibake incluyen los del Cuerno de África , como la escritura Ge'ez en Etiopía y Eritrea , utilizada para amárico , tigre y otros idiomas, y el idioma somalí , que emplea el alfabeto Osmanya . En el sur de África , el alfabeto Mwangwego se utiliza para escribir los idiomas de Malawi y el alfabeto Mandombe se creó para la República Democrática del Congo., pero estos generalmente no son compatibles. Varios otros sistemas de escritura nativos de África occidental presentan problemas similares, como el alfabeto N'Ko , utilizado para las lenguas mandingas en Guinea , y el silabario Vai , utilizado en Liberia .

Árabe [ editar ]

Otro idioma afectado es el árabe (ver más abajo ). El texto se vuelve ilegible cuando las codificaciones no coinciden.

Ejemplos [ editar ]

Los ejemplos de este artículo no tienen UTF-8 como configuración del navegador, porque UTF-8 es fácilmente reconocible, por lo que si un navegador es compatible con UTF-8, debería reconocerlo automáticamente y no intentar interpretar otra cosa como UTF-8.

Ver también [ editar ]

  • Punto de código
  • Carácter de reemplazo
  • Carácter sustituto
  • Newline : las convenciones para representar el salto de línea difieren entre los sistemas Windows y Unix. Aunque la mayoría del software admite ambas convenciones (lo cual es trivial), el software que debe preservar o mostrar la diferencia (por ejemplo , sistemas de control de versiones y herramientas de comparación de datos ) puede volverse mucho más difícil de usar si no se adhiere a una convención.
  • Marca de orden de bytes : la forma más en banda de almacenar la codificación junto con los datos: anteponerla. Esto es, intencionalmente, invisible para los humanos que usan software compatible, pero por diseño será percibido como "personajes basura" para el software no compatible (incluidos muchos intérpretes ).
  • Entidades HTML : una codificación de caracteres especiales en HTML, en su mayoría opcional, pero necesaria para que ciertos caracteres escapen a la interpretación como marcado.

    Si bien no aplicar esta transformación es una vulnerabilidad (ver secuencias de comandos entre sitios ), aplicarla demasiadas veces da como resultado la distorsión de estos caracteres. Por ejemplo, el signo de comillas "se convierte en ", ", "y así sucesivamente.

  • Bush ocultó los hechos

Referencias [ editar ]

  1. ↑ a b King, Ritchie (2012). "¿Unicode será pronto el código universal? [Los datos]". Espectro IEEE . 49 (7): 60. doi : 10.1109 / MSPEC.2012.6221090 .
  2. ^ WINDISCHMANN, Stephan (31 de marzo de 2004). "curl -v linux.ars (internacionalización)" . Ars Technica . Consultado el 5 de octubre de 2018 .
  3. ^ "Directrices para atributos extendidos" . 2013-05-17 . Consultado el 15 de febrero de 2015 .
  4. ^ "Lista de correo Unicode en el cliente de correo electrónico Eudora" . 2001-05-13 . Consultado el 1 de noviembre de 2014 .
  5. ^ "sms-scam" . 18 de junio de 2014 . Consultado el 19 de junio de 2014 .
  6. ^ p. 141, Control + Alt + Suprimir: Diccionario de Cyberslang , Jonathon Keats, Globe Pequot, 2007, ISBN 1-59921-039-8 . 
  7. ^ "Uso de Windows-1251 para sitios web" .
  8. ^ "Declaración de codificaciones de caracteres en HTML" .
  9. ^ "PRC GBK (XGB)" . Archivado desde el original el 1 de octubre de 2002.Mapa de conversión entre la página de códigos 936 y Unicode. Necesita seleccionar manualmente GB18030 o GBK en el navegador para verlo correctamente.
  10. ^ Cohen, Noam (25 de junio de 2007). "Algunos errores desafían las correcciones: un error tipográfico en el logotipo de Wikipedia fractura el sánscrito" . The New York Times . Consultado el 17 de julio de 2009 .
  11. ^ https://marathi.indiatyping.com/
  12. ^ "Contenido movido (Windows)" . Msdn.microsoft.com . Consultado el 5 de febrero de 2014 .
  13. ^ a b "Unicode adentro, Zawgyi afuera: la modernidad finalmente alcanza el mundo digital de Myanmar" . The Japan Times . 27 de septiembre de 2019 . Consultado el 24 de diciembre de 2019 . El 1 de octubre es el "Día U", cuando Myanmar adoptará oficialmente el nuevo sistema ... Microsoft y Apple ayudaron a otros países a estandarizar hace años, pero las sanciones occidentales hicieron que Myanmar perdiera.
  14. ↑ a b Hotchkiss, Griffin (23 de marzo de 2016). "Batalla de las fuentes" . Frontera de Myanmar . Consultado el 24 de diciembre de 2019 .Con el lanzamiento del Service Pack 2 de Windows XP, se admitieron scripts complejos, lo que hizo posible que Windows renderizara una fuente birmana compatible con Unicode como Myanmar1 (lanzada en 2005). ... Myazedi, BIT, y más tarde Zawgyi, circunscribieron el problema de la representación agregando puntos de código adicionales que estaban reservados para los idiomas étnicos de Myanmar. El nuevo mapeo no solo evita el soporte futuro de idiomas étnicos, sino que también da como resultado un sistema de mecanografía que puede resultar confuso e ineficaz, incluso para usuarios experimentados. ... Huawei y Samsung, las dos marcas de teléfonos inteligentes más populares en Myanmar, están motivados solo por capturar la mayor participación de mercado, lo que significa que apoyan a Zawgyi desde el primer momento.
  15. ↑ a b Sin, Thant (7 de septiembre de 2019). "Unificado bajo un sistema de fuentes mientras Myanmar se prepara para migrar de Zawgyi a Unicode" . Voces en aumento . Consultado el 24 de diciembre de 2019 . Las fuentes Unicode estándar de Myanmar nunca se integraron a diferencia de la fuente Zawgyi privada y parcialmente compatible con Unicode. ... Unicode mejorará el procesamiento del lenguaje natural
  16. ^ "Por qué se necesita Unicode" . Código de Google: Proyecto Zawgyi . Consultado el 31 de octubre de 2013 .
  17. ^ "Idiomas y escrituras de Myanmar" . Preguntas frecuentes . Consorcio Unicode . Consultado el 24 de diciembre de 2019 . "UTF-8" técnicamente no se aplica a codificaciones de fuentes ad hoc como Zawgyi.
  18. ^ LaGrow, Nick; Pruzan, Miri (26 de septiembre de 2019). "Integración de conversión automática: camino de Facebook de Zawgyi a Unicode - Ingeniería de Facebook" . Ingeniería de Facebook . Facebook . Consultado el 25 de diciembre de 2019 . Hace que la comunicación en plataformas digitales sea difícil, ya que el contenido escrito en Unicode parece distorsionado para los usuarios de Zawgyi y viceversa. ... Para llegar mejor a sus audiencias, los productores de contenido en Myanmar a menudo publican en Zawgyi y Unicode en una sola publicación, sin mencionar el inglés u otros idiomas.
  19. ^ Saw Yi Nanda (21 de noviembre de 2019). "Myanmar cambia a Unicode para tomar dos años: desarrollador de aplicaciones" . The Myanmar Times . Consultado el 24 de diciembre de 2019 .

Enlaces externos [ editar ]

  • La definición del diccionario de mojibake en Wikcionario
  • Medios relacionados con Mojibake en Wikimedia Commons