Conjunto de caracteres de varios bytes de Lotus


Lotus Multi -Byte Character Set ( LMBCS ) es una codificación de caracteres multibyte patentada originalmente concebida en 1988 en Lotus Development Corporation con aportes de Bob Balaban y otros. [1] Creado aproximadamente al mismo tiempo y abordando algunos de los mismos problemas, LMBCS podría verse como un desarrollo paralelo y una posible alternativa a Unicode . [1] Para una máxima compatibilidad, las ediciones posteriores de LMBCS incorporan UTF-16 como un subconjunto. [2] [3]

Comercialmente, LMBCS se introdujo por primera vez como el juego de caracteres predeterminado de Lotus 1-2-3 Release 3 para DOS en marzo de 1989 [1] [4] y Lotus 1-2-3 / G Release 1 para OS / 2 [1] en 1990 reemplazando el conjunto de caracteres internacional Lotus (LICS) de 8 bits y ASCII utilizados en versiones anteriores de Lotus 1-2-3 y Symphony solo para DOS . [5] LMBCS también se utiliza en IBM / Lotus SmartSuite , Notes y Domino , [1] así como en varios productos de terceros.

LMBCS codifica los caracteres necesarios para los idiomas que utilizan las escrituras latina , [6] árabe , hebrea , griega y cirílica [6] , los sistemas de escritura tailandés , chino , japonés [6] y coreano , y símbolos técnicos.

Técnicamente, LMBCS es una codificación de byte inicial donde el punto de código 00 hexadecimal así como los puntos de código 20 hexadecimal (32) a 7F hexadecimal (127) son idénticos a ASCII [1] (así como a LICS). [5]

El punto de código 00 hex siempre se trata como un carácter NUL para garantizar la máxima compatibilidad de código con las bibliotecas de software existentes que se ocupan de cadenas terminadas en nulo [1] en muchos lenguajes de programación como C. [a] Esto se aplica incluso a los códigos UTF-16be, donde las palabras de código con la forma xx00 hexadecimal se asignan a códigos de uso privado con la forma F6xx hexadecimal durante la codificación para evitar el uso de bytes NUL, [7] y para caracteres de control de escape, donde 20 hexadecimales se agregan a los caracteres de control C0 (pero no C1) después del byte de avance hexadecimal 0F. [7]

Los puntos de código 01 hexadecimal a 1F hexadecimal , que sirven como códigos de control en ASCII, se utilizan como bytes iniciales para cambiar la definición de puntos de código por encima de 7F hexadecimal entre varios grupos de códigos (similar a las páginas de códigos ) y al mismo tiempo determinar una sola - o naturaleza multibyte para el grupo de códigos correspondiente. [1]