stringtranslate.com

Popularidad de las codificaciones de texto

Históricamente se han utilizado varios estándares de codificación de texto en la World Wide Web , aunque actualmente el UTF-8 es dominante en todos los países, con un 95% de uso en todos los idiomas o, por lo general, un porcentaje bastante superior. Se utilizan las mismas codificaciones en archivos locales (o bases de datos), de hecho, muchas más, al menos históricamente. No es posible realizar mediciones exactas de la prevalencia de cada una de ellas debido a razones de privacidad (por ejemplo, para archivos locales, no accesibles desde la Web), pero sí hay estimaciones bastante precisas disponibles para sitios web públicos, y las estadísticas pueden reflejar (o no con precisión) el uso en archivos locales. Los intentos de medir la popularidad de la codificación pueden utilizar recuentos de documentos (web) o recuentos ponderados por el uso real o la visibilidad de esos documentos.

La decisión de utilizar una codificación determinada puede depender del idioma utilizado para los documentos, de la configuración regional que es la fuente del documento o del propósito del documento. El texto puede ser ambiguo en cuanto a la codificación en la que se encuentra; por ejemplo, un texto ASCII puro es válido como ASCII, ISO-8859-1 , CP1252 o UTF-8 . Las "etiquetas" pueden indicar una codificación del documento, pero cuando es incorrecta, el software de visualización puede corregirla silenciosamente (por ejemplo, la especificación HTML dice que la etiqueta para ISO-8859-1 debe tratarse como CP1252), por lo que los recuentos de etiquetas pueden no ser precisos.

Popularidad en la World Wide Web

Uso de las principales codificaciones en la web desde 2001 hasta 2012 según los registros de Google [1] , con UTF-8 superando a todos los demás en 2008 y más del 60% de la web en 2012 (desde entonces se acerca al 100%). La cifra de solo ASCII incluye todas las páginas web que solo contienen caracteres ASCII, independientemente del encabezado declarado.
Conjunto de caracteres declarado para los 10 millones de sitios web más populares desde 2010

UTF-8 ha sido la codificación más común para la World Wide Web desde 2008. [2] A partir de octubre de 2024 , UTF-8 es utilizado por el 98,3% de los sitios web encuestados (y el 99,0% de las 100.000 páginas principales y el 98,2% de las 1.000 páginas web mejor clasificadas), la siguiente codificación más popular, ISO-8859-1 , es utilizada por el 1,2% (y solo 16 de las 1.000 páginas principales). [3] Aunque muchas páginas solo usan caracteres ASCII para mostrar contenido, muy pocos sitios web declaran ahora que su codificación es solo ASCII en lugar de UTF-8. [4]

Prácticamente todos los países y más del 97 % de los idiomas analizados utilizan en la web el 95 % o más de las codificaciones UTF-8. A continuación, se muestran las principales codificaciones alternativas:

La segunda codificación más popular varía según la configuración regional y, por lo general, es más eficiente para el idioma asociado. Una de estas codificaciones es el estándar chino GB 18030 , que es un formato de transformación Unicode completo ; aún así, el 95,3 % de los sitios web en China y sus territorios usan UTF-8 [5] [6] [7], siendo (efectivamente [8] ) la siguiente codificación más popular. Big5 es otra codificación popular no UTF destinada a caracteres chinos tradicionales (aunque GB 18030 también funciona para ellos, es un UTF completo ) y es la siguiente más popular en Taiwán después de UTF-8 con un 96,7 %, y también es la segunda más utilizada en Hong Kong, mientras que allí, como en otros lugares, UTF-8 es incluso más dominante con un 98,2 %. [9] El byte único Windows-1251 es dos veces más eficiente para el alfabeto cirílico y aún así el 95,2% de los sitios web rusos usan UTF-8 [10] (sin embargo, por ejemplo, las codificaciones griega y hebrea también son dos veces más eficientes, y UTF-8 tiene más del 99% de uso para esos idiomas). [11] [12] Los sitios web en coreano, chino y japonés también tienen un uso relativamente alto de no UTF-8 en comparación con la mayoría de los otros países, con un uso de UTF-8 japonés del 96,7%, el resto usa las codificaciones heredadas EUC-JP y/o Shift JIS (en realidad decodificadas como su superconjunto Windows-31J ) que se usan aproximadamente tanto. [13] [14] Corea del Sur tiene un 94,0% de uso de UTF-8, y el resto de sitios web usan principalmente EUC-KR, que es más eficiente para el texto coreano.

Con excepción de GB 18030 (y UTF-16 y UTF-8 ), otras codificaciones (heredadas) no admiten todos los caracteres Unicode, ya que fueron diseñadas para idiomas específicos.

A partir de octubre de 2024 , el limburgués ( limburgués ) tiene el uso más bajo de UTF-8 en la web de todos los idiomas rastreados, con un uso del 85%. [15] Más de un tercio de los idiomas rastreados tienen un uso del 100,0% de UTF-8 en la web, como vietnamita , maratí , telugu , tamil , javanés , pañjābī/punjabi , gujarati , farsi/persa , hausa , pastún , kannada , lao , idiomas kurdos , tagalo , somalí , jemer/camboyano , isiZulu/zulú , turcomano (escritura cirílica y basada en el latín desde el final de la Unión Soviética ; también se puede usar la basada en el árabe), tayiko ( tiene su propia escritura basada en el cirílico y la escritura hebrea utilizada por algunos, más otras 2 escrituras históricamente ) y muchos de los idiomas con menos hablantes (a menudo con sus propias escrituras) como el armenio , el mongol ( que tiene una escritura de arriba a abajo [16] más la escritura basada en el cirílico también utilizadas, y más históricamente), maldivas ( Thaana ), groenlandesa ( Kalaallisut ) y también lenguas de signos . [17]

Popularidad de los archivos de texto locales

El almacenamiento local en las computadoras tiene un uso considerablemente mayor de codificaciones de un solo byte "heredadas" que en la web. Los intentos de actualizar a UTF-8 han sido bloqueados por editores que no muestran ni escriben UTF-8 a menos que el primer carácter de un archivo sea una marca de orden de bytes , lo que hace imposible que otro software use UTF-8 sin ser reescrito para ignorar la marca de orden de bytes en la entrada y agregarla en la salida. Los archivos UTF-16 también son bastante comunes en Windows, pero no en otros sistemas. [18] [19]

Popularidad interna en el software

En la memoria de un programa informático, el uso de UTF-16 es muy común, sobre todo en Windows, pero también en JavaScript , Qt y muchas otras bibliotecas de software multiplataforma. La compatibilidad con la API de Windows es una de las principales razones de ello.

En un tiempo, muchos creían (y algunos todavía creen hoy) que tener unidades de código de tamaño fijo ofrecía ventajas computacionales, lo que llevó a muchos sistemas, en particular Windows, a utilizar el UCS-2 de tamaño fijo con dos bytes por carácter. Esto es falso: casi nunca se accede a las cadenas de forma aleatoria y el acceso secuencial es a la misma velocidad. Además, incluso el UCS-2 no era de "tamaño fijo" si se consideran los caracteres combinados , y cuando Unicode superó los 65536 puntos de código, tuvo que ser reemplazado de todos modos por el UTF-16 de tamaño no fijo.

Recientemente se ha vuelto claro que la sobrecarga de traducir desde/a UTF-8 en la entrada y salida, y lidiar con los posibles errores de codificación en el UTF-8 de entrada, supera ampliamente cualquier ahorro que UTF-16 podría ofrecer. Por lo tanto, los sistemas de software más nuevos están comenzando a utilizar UTF-8. Los Componentes Internacionales para Unicode (ICU) históricamente solo han utilizado UTF-16 , y todavía lo hacen solo para Java, mientras que ahora admiten UTF-8 (para C/C++ y otros lenguajes indirectamente), por ejemplo, utilizados de esa manera por Microsoft; admitido como el "Conjunto de caracteres predeterminado" [20] incluido el manejo correcto de "UTF-8 ilegal". [21] La primitiva de cadena predeterminada utilizada en los lenguajes de programación más nuevos, como Go , [22] Julia , Rust y Swift 5, [23] asume la codificación UTF-8. PyPy también está utilizando UTF-8 para sus cadenas, [24] y Python está buscando almacenar todas las cadenas con UTF-8. [25] Microsoft ahora recomienda el uso de UTF-8 para aplicaciones que utilizan la API de Windows , mientras continúa manteniendo una interfaz "Unicode" heredada (es decir, UTF-16). [26]

Referencias

  1. ^ Davis, Mark (3 de febrero de 2012). «Unicode en más del 60 por ciento de la web». Blog oficial de Google . Archivado desde el original el 9 de agosto de 2018. Consultado el 24 de julio de 2020 .
  2. ^ Davis, Mark (5 de mayo de 2008). "Pasando a Unicode 5.1". Blog oficial de Google . Consultado el 13 de marzo de 2023 .
  3. ^ "Encuesta sobre el uso de codificaciones de caracteres desglosada por clasificación". W3Techs . Consultado el 21 de octubre de 2024 .
  4. ^ "Estadísticas de uso y cuota de mercado de ASCII para sitios web, enero de 2024". W3Techs . Consultado el 13 de enero de 2024 .
  5. ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan China y territorios". w3techs.com . Consultado el 21 de octubre de 2024 .
  6. ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan .cn". w3techs.com . Consultado el 1 de noviembre de 2021 .
  7. ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan chino". w3techs.com . Consultado el 1 de noviembre de 2021 .
  8. ^ El estándar chino GB 2312 y su extensión GBK (ambos interpretados por los navegadores web como GB 18030 , con soporte para las mismas letras que UTF-8)
  9. ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan Taiwán". w3techs.com . Consultado el 11 de agosto de 2024 .
  10. ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan .ru". w3techs.com . Consultado el 6 de octubre de 2024 .
  11. ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan el griego". w3techs.com . Consultado el 1 de enero de 2024 .
  12. ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan hebreo". w3techs.com . Consultado el 2 de febrero de 2024 .
  13. ^ "Tendencias históricas en el uso de codificaciones de caracteres" . Consultado el 3 de julio de 2024 .
  14. ^ "Estadísticas de uso de UTF-8". BuiltWith . Consultado el 28 de marzo de 2011 .
  15. ^ "Informe de uso de UTF-8 desglosado por idiomas de contenido". w3techs.com . Consultado el 3 de septiembre de 2024 .
  16. ^ "ХҮМҮҮН БИЧИГ" [Documentos humanos]. khumuunbichig.montsame.mn (en mongol). Agencia de Noticias Montsame . Consultado el 26 de octubre de 2022 .
  17. ^ "Distribución de codificaciones de caracteres entre sitios web que utilizan lenguajes de señas". w3techs.com . Consultado el 3 de diciembre de 2018 .
  18. ^ "Charset". Desarrolladores de Android . Consultado el 2 de enero de 2021 . Nota de Android: el valor predeterminado de la plataforma Android es siempre UTF-8.
  19. ^ Galloway, Matt (9 de octubre de 2012). "Codificación de caracteres para desarrolladores de iOS. ¿O UTF-8 y ahora qué?". www.galloway.me.uk . Consultado el 2 de enero de 2021 . En realidad, normalmente se asume que se trata de UTF-8, ya que es, con diferencia, la codificación más común.
  20. ^ "UTF-8 - Guía del usuario de la UCI". userguide.icu-project.org . Consultado el 3 de abril de 2018 .
  21. ^ "#13311 (cambiar el manejo ilegal de UTF-8 a la "mejor práctica" de Unicode)". bugs.icu-project.org . Consultado el 3 de abril de 2018 .
  22. ^ "La especificación del lenguaje de programación Go" . Consultado el 10 de febrero de 2021 .
  23. ^ Tsai, Michael J. "Michael Tsai - Blog - Cadena UTF-8 en Swift 5" . Consultado el 15 de marzo de 2021 .
  24. ^ Mattip (24 de marzo de 2019). "Blog sobre el estado de PyPy: se lanzó PyPy v7.1; ahora usa utf-8 internamente para cadenas Unicode". Blog sobre el estado de PyPy . Consultado el 21 de noviembre de 2020 .
  25. ^ "PEP 623 - Eliminar wstr de Unicode". Python.org . Consultado el 21 de noviembre de 2020 . Hasta que descartemos el objeto Unicode heredado, es muy difícil probar otras implementaciones Unicode como la implementación basada en UTF-8 en PyPy.
  26. ^ "Usar la página de códigos UTF-8 de Windows". Aplicaciones UWP . docs.microsoft.com . Consultado el 6 de junio de 2020 .