La página de códigos 866 ( CCSID 866) [2] (CP 866, "DOS Cyrillic Russian") [3] es una página de códigos utilizada en DOS y OS/2 [4] en Rusia para escribir el alfabeto cirílico . [5] [6] Se basa en la "página de códigos alternativa" ( en ruso : Альтернативная кодировка ) desarrollada en 1984 en IHNA AS URSS y publicada en 1986 por un grupo de investigación de la Academia de Ciencias de la URSS. [7] La página de códigos fue ampliamente utilizada durante la era DOS porque conserva todos los símbolos pseudográficos de la página de códigos 437 (a diferencia de la « Página de códigos principal » o la página de códigos 855 ) y mantiene el orden alfabético (aunque no de forma contigua) de las letras cirílicas (a diferencia de KOI8-R ). Inicialmente, esta codificación solo estaba disponible en la versión rusa de MS-DOS 4.01 (1990), pero con MS-DOS 6.22 se hizo disponible en cualquier versión de idioma.
El estándar de codificación WHATWG , que especifica las codificaciones de caracteres permitidas en HTML5 que los navegadores compatibles deben soportar, [8] incluye la página de códigos 866. [9] Es la única codificación de un solo byte que aparece en la lista y que no figura como parte de la norma ISO 8859 , codificación específica de Mac OS , codificación específica de Microsoft Windows ( Windows-874 o Windows-125x ) o variante de KOI-8 . [9] Se indica a los autores de nuevas páginas y a los diseñadores de nuevos protocolos que utilicen UTF-8 en su lugar. [10]
Dos codificaciones muy similares pero no idénticas están estandarizadas en GOST R 34.303-92 [11] como KOI-8 N1 y KOI-8 N2 (que no debe confundirse con el KOI-8 original ).
Cada carácter no ASCII se muestra con su punto de código Unicode equivalente . La primera mitad (puntos de código 0 a 127) de esta tabla es la misma que la de la página de códigos 437 .
Existían algunas variantes de la página de códigos, pero las diferencias estaban principalmente en los últimos 16 puntos de código (240–255).
La versión original de la página de códigos de Bryabrin et al. (1986) [7] se denomina "Página de códigos alternativa" ( en ruso : Альтернативная кодировка ), para distinguirla de la "Página de códigos principal" ( en ruso : Основная кодировка ) de los mismos autores. Solo admite ruso y búlgaro . Es prácticamente igual que la página de códigos 866, excepto por los códigos F2 hexadecimales a F7 hexadecimales (que la página de códigos 866 cambia a letras ucranianas y bielorrusas ) y los códigos F8 hexadecimales a FB hexadecimales (donde la página de códigos 866 coincide con la página de códigos 437 ). La fila diferente se muestra a continuación.
Una variante no oficial con los puntos de código 240-255 idénticos a la página de códigos 437. Sin embargo, la letra Ёё suele colocarse en 240 y 241. [18] Esta versión solo admite ruso y búlgaro . La fila diferente se muestra a continuación.
La norma GOST R 34.303-92 define dos variantes, KOI-8 N1 y KOI-8 N2, que no deben confundirse con la codificación KOI-8 , a la que no se adhieren.
KOI-8 N2 es la variante más extensa y coincide con la página de códigos 866 y la página de códigos alternativa excepto por la última fila o barra . [c] Para esta última fila, admite letras para bielorruso y ucraniano además del ruso, pero en un diseño no relacionado con la página de códigos 866 o 1125. Cabe destacar que el ruso Ё / ё (que no cambió entre la página de códigos alternativa y la página de códigos 866) también está en una ubicación diferente. La barra final de KOI-8 N2 se muestra a continuación. [11]
La otra variante, KOI-8 N1, es un subconjunto de KOI-8 N2 que omite las letras cirílicas no rusas y los caracteres de dibujo de caja de línea simple/doble , dejándolos vacíos para una mayor internacionalización (compárese con la página de códigos 850 ). Los códigos afectados se muestran a continuación. [11]
La página de códigos KBL , conocida extraoficialmente como página de códigos 771, [19] es la codificación de caracteres DOS más antigua para el lituano. [20] En su mayor parte coincide con la página de códigos 866 y la página de códigos alternativa, pero reemplaza la última fila y algunos caracteres de bloque con letras del alfabeto lituano que de otro modo no están presentes en ASCII. El ruso Ё / ё no está soportado, [20] de manera similar a KOI-7 .
También existe una versión modificada, la página de código 773 , que reemplaza las letras cirílicas por letras letonas y estonias . [20]
La norma lituana LST 1284:1993, conocida como página de códigos 1119 o extraoficialmente como página de códigos 772, [19] coincide en su mayor parte con la página de códigos 866 "modificada", excepto por la adición de comillas en la última fila y el reemplazo de los caracteres mixtos de dibujo de recuadros simples y dobles por letras lituanas (comparar página de códigos 850 ). A diferencia de KBL, se conserva la Ё / ё rusa.
Acompaña a LST 1283 ( página de códigos 774/1118 ), que codifica las letras lituanas adicionales en las mismas ubicaciones que LST 1284, pero se basa en la página de códigos 437. Posteriormente fue reemplazado por LST 1590-1 ( página de códigos 775 ), [19] que codifica estas letras lituanas en las mismas ubicaciones, pero no incluye letras cirílicas, reemplazándolas con letras letonas y estonias. [20]
El estándar ucraniano RST 2018-91 es designado por IBM como Página de códigos 1125 (CCSID 1125), [25] abreviado CP1125, y también conocido como CP866U, CP866NAV o RUSCII. [26] Coincide con la página de códigos alternativa original para todos los puntos excepto para F2 hexadecimal hasta F9 hexadecimal inclusive, que se reemplazan con letras ucranianas . [27] La página de códigos/CCSID 1131 [28] [29] coincide con la página de códigos 866 para todos los puntos excepto para F8 hexadecimal , F9 hexadecimal y FC hexadecimal hasta FE hexadecimal inclusive, que se reemplazan con letras ucranianas y bielorrusas que de otro modo faltarían , en el proceso desplazando el carácter de viñeta (∙) de F9 hexadecimal a FE hexadecimal . [30] [31] Las diferentes filas se muestran a continuación.
Además, la denominada página de códigos CP 866ukr es una versión modificada de CP866 con el reemplazo de Ўў por Іі. A diferencia de CP1125, mantiene la compatibilidad total de las letras ucranianas con CP866, aunque falta Ґґ. No está incluida en las distribuciones estándar de Windows, pero algunos usuarios instalan un parche casero [38] que permite usar esta codificación para trabajar en programas de línea de comandos (como FAR Manager ) con nombres de archivo que contienen el cirílico Іі.
La página de códigos 30040 de FreeDOS es una variante de la página de códigos 866 que reemplaza el signo de moneda (¤) en el byte 0xFB con el signo grivna (₴, U+20B4).
La página de códigos 30039 de FreeDOS es una variante de la página de códigos 1125 que realiza el mismo reemplazo.
La página de códigos IBM/CCSID 808 es una variante de la página de códigos/CCSID 866; con el símbolo del euro (€, U+20AC) en la posición FD hexadecimal , reemplazando el símbolo monetario universal (¤). [39] [40] [41]
La página de códigos IBM/CCSID 848 es una variante de la página de códigos/CCSID 1125 con el símbolo del euro en FD hexadecimal , reemplazando ¤. [42] [43] [44]
La página de códigos IBM/CCSID 849 es una variante de la página de códigos/CCSID 1131 con el símbolo del euro en FB hex , reemplazando ¤. [45] [46] [47]
Una modificación no oficial utilizada en el software desarrollado por Michael Lehner y Peter R. Czech. Reemplaza tres símbolos matemáticos por guillemets y el signo de sección que se usan comúnmente en el idioma ruso. (Lehner y Czech crearon también una serie de conjuntos de caracteres alternativos para otros idiomas europeos, incluido uno basado en CWI-2 para húngaro , uno basado en Kamenicky para checo y eslovaco , una variante de Mazovia para polaco y una codificación aparentemente única para lituano . La fila modificada se muestra a continuación.
Una variante letona, compatible con las impresoras Star y FreeDOS, es la página de códigos 3012 (anteriormente FreeDOS la llamaba página de códigos 61282 ). Esta codificación se conoce como "RusLat". [48]
FreeDOS proporciona extensiones no oficiales adicionales de la página de códigos 866 para varios idiomas no eslavos: [49]
Antes de que Franz Rau de Microsoft registrara en IBM la página de códigos final de Microsoft para el MS-DOS 4.01 ruso como CP866 en enero de 1990, las versiones preliminares de la misma desarrolladas por Yuri Starikov (Юрий Стариков) de Dialogue todavía se llamaban internamente página de códigos 900. Si bien la documentación se corrigió para reflejar el nuevo nombre antes del lanzamiento del producto, en 1990 se publicaron en la prensa rusa bocetos de versiones preliminares anteriores que todavía se llamaban página de códigos 900 y sin las letras ucranianas y bielorrusas, que se habían agregado en otoño de 1989. [50] La página de códigos 900 se coló en la distribución del archivo de información de página de códigos LCD.CPI del MS-DOS 5.0 ruso . [51]
Los agentes de usuario deben admitir las codificaciones definidas en el estándar de codificación WHATWG, incluidas, entre otras, […]