UTF-EBCDIC es un sistema de codificación de caracteres capaz de codificar los 1.112.064 puntos de código de caracteres válidos en Unicode utilizando de 1 a 5 bytes (en contraste con un máximo de 4 para UTF-8 ). [1] Está pensado para ser compatible con EBCDIC , de modo que las aplicaciones EBCDIC heredadas en mainframes puedan procesar los caracteres sin mucha dificultad. Sus ventajas para los sistemas existentes basados en EBCDIC son similares a las ventajas de UTF-8 para los sistemas existentes basados en ASCII . Los detalles sobre UTF-EBCDIC se definen en el Informe técnico Unicode n.° 16.
Para producir la versión codificada en UTF-EBCDIC de una serie de puntos de código Unicode, primero se aplica una codificación basada en UTF-8 (conocida en la especificación como UTF-8-Mod) (creando lo que la especificación llama una secuencia I8). La principal diferencia entre esta codificación y UTF-8 es que permite que los puntos de código Unicode U+0080 a U+009F (los códigos de control C1 ) se representen como un solo byte y, por lo tanto, se asignen posteriormente a los códigos de control EBCDIC correspondientes. Para lograr esto, UTF-8-Mod utiliza 101xxxxx en lugar de 10xxxxxx como formato para los bytes finales en una secuencia de varios bytes. Como esto solo puede contener 5 bits en lugar de 6, la codificación UTF-8-Mod de los puntos de código por encima de U+03FF es más grande que la codificación UTF-8.
La transformación UTF-8-Mod deja los datos en un formato basado en ASCII (por ejemplo, U+0041 "A" todavía se codifica como 0x41 ), por lo que cada byte se introduce en una tabla de búsqueda reversible (uno a uno) para producir la codificación UTF-EBCDIC final. Por ejemplo, 0x41 en esta tabla se asigna a 0xC1 ; por lo tanto, la codificación UTF-EBCDIC de U+0041 ("A" de Unicode) es 0xC1 ("A" de EBCDIC).
El formato UTF-EBCDIC rara vez se utiliza, incluso en los mainframes basados en EBCDIC para los que fue diseñado. Los sistemas operativos de mainframe basados en EBCDIC de IBM , como z/OS , suelen utilizar UTF-16 para una compatibilidad completa con Unicode. Por ejemplo, IBM Db2 , COBOL , PL/I , Java y el kit de herramientas XML de IBM admiten UTF-16 en mainframes de IBM.
Disposición de la página de códigos
Hay 160 caracteres con codificaciones de un solo byte en UTF-EBCDIC (en comparación con 128 en UTF-8). Como se puede ver, la porción de un solo byte es similar a IBM-1047 en lugar de IBM-37 debido a la ubicación de los corchetes. El CCSID 37 tiene [] en BA y BB hexadecimales en lugar de AD y BD hexadecimales respectivamente.
Oráculo UTFE
Oracle UTFE es una variación de la base de datos Oracle Unicode 3.0 UTF-8 , similar a la variante CESU-8 de UTF-8, donde los caracteres complementarios se codifican como dos caracteres de 4 bytes en lugar de un único carácter de 4 o 5 bytes. Se utiliza únicamente en plataformas EBCDIC. [2]
Véase también
Referencias
- ^ "UTR #16: UTF-EBCDIC". www.unicode.org . Consultado el 23 de febrero de 2021 .
Debe buscar como máximo cinco bytes (siete bytes, si se considera el rango completo de 31 bits de ISO/IEC 10646) hacia atrás
- ^ Baird, Cathy; Chiba, Dan; Chu, Winson; Fan, Jessica; Ho, Claire; Law, Simon; Lee, Geoff; Linsley, Peter; Matsuda, Keni; Oscroft, Tamzin; Takeda, Shige; Tanaka, Linus; Tozawa, Makoto; Trute, Barry; Tsujimoto, Mayumi; Wu, Ying; Yau, Michael; Yu, Tim; Wang, Chao; Wong, Simon; Zhang, Weiran; Zheng, Lei; Zhu, Yan; Moore, Valarie (2002) [1996]. "Apéndice A: Datos de configuración regional". Oracle9i Database Globalization Support Guide (PDF) (versión 2 (9.2) ed.). Oracle Corporation . Oracle A96529-01. Archivado (PDF) desde el original el 2017-02-14 . Consultado el 2017-02-14 .
Enlaces externos
- VS Umamaheswaran, Informe técnico Unicode n.° 16: la definición de UTF-EBCDIC (16 de abril de 2002)