UTF-EBCDIC es una 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á diseñada para ser compatible con EBCDIC , de modo que las aplicaciones EBCDIC heredadas en mainframes puedan procesar los caracteres sin mayores dificultades. 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 denomina 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 multibyte. Dado que esto solo puede contener 5 bits en lugar de 6, la codificación UTF-8-Mod de los puntos de código superiores a U+03FF es mayor 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" sigue codificado como 0x41 ), por lo que cada byte se pasa por una tabla de búsqueda reversible (uno a uno) para producir la codificación UTF-EBCDIC final. Por ejemplo, 0x41 en esta tabla se corresponde con 0xC1 ; por lo tanto, la codificación UTF-EBCDIC de U+0041 (la "A" de Unicode) es 0xC1 (la "A" de EBCDIC).
UTF-EBCDIC se usa con poca frecuencia, incluso en los mainframes basados en EBCDIC para los que fue diseñado. Los sistemas operativos mainframe de IBM basados en EBCDIC, como z/OS , suelen usar 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 los mainframes de IBM.
Diseño de página de código
En UTF-EBCDIC existen 160 caracteres con codificación de un solo byte (frente a los 128 de UTF-8). Como se puede observar, la parte de un solo byte es similar a IBM-1047 en lugar de IBM-37 debido a la ubicación de los corchetes. CCSID 37 tiene [] en las posiciones hexadecimales BA y BB, en lugar de en las posiciones hexadecimales AD y BD, respectivamente.
Oracle UTFE
Oracle UTFE es una variante de base de datos Oracle UTF-8 Unicode 3.0 , similar a la variante CESU-8 de UTF-8, donde los caracteres suplementarios se codifican como dos caracteres de 4 bytes en lugar de un solo 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.
Necesitas 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 localización". Guía de soporte de globalización de la base de datos Oracle9i (PDF) (ed. Versión 2 (9.2) ). Oracle Corporation . Oracle A96529-01. Archivado (PDF) del original el 14 de febrero de 2017. Recuperado el 14 de febrero de 2017 .
Enlaces externos
- VS Umamaheswaran, Informe técnico Unicode n.º 16: la definición de UTF-EBCDIC (16 de abril de 2002)
- Codificación de caracteres
- Formatos de transformación Unicode