Se han utilizado varias versiones mutuamente incompatibles del Código de intercambio decimal codificado en binario extendido ( EBCDIC ) para representar el idioma japonés en las computadoras, incluidas variantes definidas por Hitachi , Fujitsu , IBM y otros. Algunas son codificaciones de ancho variable , que emplean códigos de cambio de bloqueo para cambiar entre los modos de un solo byte y de doble byte. [1] A diferencia de otras configuraciones regionales de EBCDIC, las letras latinas básicas minúsculas a menudo no se conservan en sus ubicaciones habituales. [2]
Los caracteres que se encuentran en el código japonés de doble byte utilizado con EBCDIC por IBM, pero que no se encuentran en la primera edición de JIS X 0208 , también influyeron en las extensiones del proveedor que se encuentran en algunas codificaciones que no son EBCDIC, como la página de códigos de IBM 932 (" DBCS-PC") y la página de códigos de Windows 932 . [3]
De manera similar a JIS X 0201 (a su vez incorporado en Shift JIS ), las codificaciones EBCDIC japonesas a menudo incluyen un conjunto de katakana de un solo byte . En la configuración regional japonesa, diferentes proveedores utilizan varias variantes diferentes del código EBCDIC de un solo byte; un proveedor determinado también puede definir dos códigos diferentes de un solo byte, uno preferido para katakana de ancho medio y otro preferido para escritura latina . Las variantes de EBCDIC preferidas por un proveedor determinado para su uso en katakana a veces se denominan EBCDIK , que significa código Kana de intercambio decimal codificado en binario extendido . [1] [4]
Las páginas de códigos que incorporan kana de medio ancho son una excepción al conjunto de caracteres invariantes EBCDIC de IBM, que especifica un conjunto de caracteres que generalmente se codifican de la misma manera en todas las páginas de códigos EBCDIC. En particular, a veces incluyen caracteres katakana en puntos de código que se utilizan para letras minúsculas del alfabeto latino básico en el conjunto invariante. [2] La codificación de letras minúsculas cuando se incluyen caracteres katakana en esas ubicaciones, y la codificación de caracteres katakana cuando las letras minúsculas se conservan en sus ubicaciones habituales, pueden variar entre proveedores, como se muestra a continuación.
Microsoft Windows implementa dos variantes japonesas de EBCDIC de un solo byte, con números de página de códigos 20000 superiores a los números de página de códigos de IBM para sus variantes, como páginas de códigos 20290 (documentadas como IBM290
"IBM EBCDIC Japanese Katakana Extended") [5] y 21027 ("Extended /Ext Alfa Minúsculas"). La página de códigos 21027 implementada en Windows es una implementación incompleta, que carece de asignaciones bidireccionales para varias letras y kana, [6] y actualmente está en desuso. [5]
Las páginas de códigos de IBM se actualizaron posteriormente para incluir el signo del euro en 0xE1, conservando sus números CPGID originales, pero se les asignaron nuevos números CCSID. Por lo tanto, el CCSID 290 se refiere a la versión original de la página de códigos 290, mientras que la versión de la página de códigos 290 con el signo del euro también se conoce como CCSID 8482. [7] De manera similar, el CCSID 1027 se refiere a la versión original de la página de códigos 1027, mientras que a la versión de CPGID 1027 con el signo del euro se le asigna el CCSID 5123. [8]
Junto con las versiones de la página de códigos DBCS-Host japonesa de doble byte de IBM (CPGID 300, CCSID 300 o 16684) como componente de doble byte, la página de códigos 290 de IBM se utiliza como componente de un solo byte de la página de códigos multibyte IBM- 930 [9] [10] y (como CCSID 8482 actualizado en Europa) la versión actualizada IBM-1390. [11] [12] La página de códigos IBM 1027 se utiliza como componente de un solo byte de la página de códigos multibyte IBM-939 [13] [14] y (como CCSID 5123 actualizado en Europa) la versión actualizada IBM-1399. . [15] [16]
En la siguiente tabla, la conformidad con el conjunto invariante está marcada en verde; La colisión con el conjunto invariante está marcada en rojo.
Hay tres códigos de caracteres de doble byte utilizados para japonés con EBCDIC: [31] [32] [3] Página de códigos IBM 300 (también llamada IBM Kanji o IBM Japanese DBCS-Host) de IBM , [33] KEIS de Hitachi , [ 31] y JEF de Fujitsu . [17] Estas son codificaciones DBCS-Host, que utilizan diferentes códigos de cambio para cambiar entre los modos EBCDIC de un solo byte y de doble byte. [1] Los códigos 0x41 a 0xFE (los utilizados para caracteres gráficos en EBCDIC) se utilizan en pares para representar caracteres de una cuadrícula de 190×190; El código 0x40 ( espacio en EBCDIC) se utiliza duplicado como espacio ideográfico , pero no como parte de ningún otro código de doble byte. [1] [33]
En la versión IBM del código DBCS-Host, el código 0x0F
cambia al modo de un solo byte y el código 0x0E
cambia al modo de doble byte, [1] [9] [13] [11] [15] en común con IBM de doble byte. códigos EBCDIC de bytes para otros idiomas CJK , [1] como la versión EBCDIC de Johab para coreano . [34] A diferencia de KEIS y JEF, el diseño de la página de códigos IBM 300 no está relacionado con JIS X 0208 , y la conversión entre los dos debe realizarse mediante una tabla; [31] sin embargo, su repertorio de personajes se ha mantenido actualizado con revisiones sucesivas de JIS X 0208 para seguir siendo un superconjunto del repertorio de JIS X 0208. [3] Los bytes iniciales 0x41 a 0x44 se usan para caracteres que no son Kanji, los bytes iniciales 0x45 a 0x68 se usan para caracteres Kanji y los bytes iniciales 0x69 a 0x89 se usan para UDC ( caracteres definidos por el usuario ). [33]
La existencia del código DBCS-Host japonés de IBM tuvo un impacto más allá de los sistemas EBCDIC, ya que IBM también definió variantes de Shift JIS ("DBCS-PC", definido en la página de códigos de doble byte puro 301 y utilizado en la página de códigos de ancho variable 932 y Página de códigos 942 ) y de EUC-JP que codifica todo el repertorio de la página de códigos 300 de IBM, incluidos 28 kanji no kanji y 360 kanji adicionales a los incluidos originalmente en JIS X 0208 (aunque los no kanji porque firman ∵ y no firman¬ posteriormente se agregaron a JIS X 0208 en 1983). Estos se denominan caracteres "seleccionados por IBM" y se incluyen como extensiones, por ejemplo, en la página de códigos de Windows 932 . [3]
Algunas revisiones más recientes de la página de códigos IBM-300 agregan kanji adicionales con bytes iniciales 0xB8 a 0xD5 y no kanji adicionales con bytes iniciales 0xD6 a 0xE9. [33] Esta revisión actualizó el conjunto para JIS X 0213 , incluido el signo del euro y, aunque conserva el CPGID 300, se le asignó el nuevo CCSID 16684. [35] Las páginas de códigos IBM-930 (con la página de códigos 290 como única conjunto de bytes), [9] IBM-931 (con la página de códigos 37 como conjunto de un solo byte) e IBM-939 (con la página de códigos 1027 como conjunto de un solo byte) [13] excluyen estas adiciones, mientras que IBM-1390 (con la versión del signo del euro de la página de códigos 290 / CCSID 8482) [11] e IBM-1399 (con la versión del signo del euro de la página de códigos 1027 / CCSID 5123) [15] los incluyen.
En Hitachi KEIS [31] (Sistema de información extendido de procesamiento de kanji), la secuencia 0x0A 0x41
cambia al modo de un solo byte y la secuencia 0x0A 0x42
cambia al modo de doble byte. [a] Los caracteres JIS X 0208 se codifican utilizando las mismas secuencias de bytes utilizadas para codificarlos en EUC-JP , es decir, con ambos bytes entre 0xA1 y 0xFE inclusive. Esto da como resultado codificaciones duplicadas para el espacio ideográfico : 0x4040 según la estructura del código DBCS-Host y 0xA1A1 como en EUC-JP. Sin embargo, el rango de bytes iniciales se extiende hasta 0x59, de los cuales los bytes iniciales 0x81–A0 están designados para caracteres definidos por el usuario, [1] y el resto se usa para caracteres definidos por la empresa, incluidos kanji y no kanji. . [3]
En Fujitsu JEF [17] (función extendida de procesamiento japonés), 0x29
cambia al modo de un solo byte y 0x28
cambia al modo de doble byte. De manera similar a KEIS, los códigos JIS X 0208 se representan igual que en EUC-JP. [1] A diferencia de KEIS, la edición JIS X 0208 utilizada en esta zona JEF es la JIS C 6226:1978 original. [31] [17] El rango de bytes iniciales se extiende nuevamente a 0x41, con 0x80–A0 designado para la definición del usuario; A los bytes iniciales 0x41–7F se les asignan los números de fila del 101 al 163 para fines de Kuten , aunque la fila 162 (byte inicial 0x7E) no se utiliza. [1] [3] Las filas 101 a 148 se usan para kanji extendidos, mientras que las filas 149 a 163 se usan para no kanji extendidos. [3]
10 65
y 10 66
) enumeradas por Lunde. [1] Lunde enumera las formas hexadecimales para ambos turnos como 0xA0 0x42
, aparentemente por error.