El conjunto de caracteres multibyte de Lotus ( LMBCS ) es una codificación de caracteres multibyte propietaria concebida originalmente en 1988 en Lotus Development Corporation con aportaciones de Bob Balaban y otros. [ 1 ] Creado casi al mismo tiempo y abordando algunos de los mismos problemas, LMBCS podría considerarse un desarrollo paralelo y una posible alternativa a Unicode . [ 1 ] Para una máxima compatibilidad, las versiones posteriores de LMBCS incorporan UTF-16 como subconjunto. [ 2 ] [ 3 ]
Comercialmente, LMBCS se introdujo por primera vez como el conjunto 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 internacionales de Lotus de 8 bits (LICS) y ASCII utilizado en versiones anteriores solo para DOS de Lotus 1-2-3 y Symphony . [ 5 ] LMBCS también se utiliza en IBM / Lotus SmartSuite , Notes y Domino , [ 1 ] así como en una serie de productos de terceros.
LMBCS codifica los caracteres necesarios para los idiomas que utilizan los alfabetos latino , [ 6 ] árabe , hebreo , griego y cirílico , [ 6 ] los sistemas de escritura tailandés , chino , japonés [ 6 ] y coreano , y símbolos técnicos.
Codificaciones
Técnicamente, LMBCS es una codificación de byte inicial donde el punto de código hexadecimal 00 , así como los puntos de código hexadecimales del 20 (32) al 7F ( 127), son idénticos a ASCII [ 1 ] (así como a LICS). [ 5 ]
El punto de código 00 hexadecimal siempre se trata como un carácter NUL para garantizar la máxima compatibilidad de código con las bibliotecas de software existentes que manejan 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 a los caracteres de control escapados, donde se agrega 20 hexadecimal a los caracteres de control C0 (pero no C1) que siguen al byte inicial 0F hexadecimal . [ 7 ]
Los puntos de código hexadecimales 01 a 1F , que sirven como códigos de control en ASCII, se utilizan como bytes iniciales para cambiar la definición de los puntos de código superiores a 7F entre varios grupos de códigos (similares a las páginas de códigos ) y, al mismo tiempo, determinar si el grupo de códigos correspondiente será de uno o varios bytes. [ 1 ]
Por ejemplo, el grupo de códigos 1 (con byte de grupo 01 hexadecimal ) [ 1 ] es casi idéntico a la página de códigos 850 del SBCS , mientras que el grupo de códigos 16 (con byte de grupo 10 hexadecimal ) [ 1 ] es similar a la página de códigos 932 del MBCS japonés . Por lo tanto, los caracteres multibyte pueden ocupar dos o tres bytes. [ 7 ] [ 6 ]
En LMBCS canónico , cada carácter comienza con su byte de grupo. [ 1 ] Para reducir la longitud, en LMBCS optimizado o comprimido se puede definir un grupo de códigos predeterminado o un código de grupo de optimización por aplicación o proceso (idealmente elegido según la mayor probabilidad de ocurrencia) [ 1 ] y debe comunicarse al código intérprete de alguna manera (por ejemplo, especificando el nombre "LMBCS- n " correspondiente). [ 8 ] De este modo, se puede omitir el byte de grupo para estos caracteres. [ 1 ] Lotus 1-2-3 recupera el código de grupo de optimización del encabezado del archivo fuente correspondiente, [ 7 ] mientras que para Lotus Notes el código de grupo de optimización está fijo para ser siempre 01 hexadecimal . [ 2 ] [ 7 ]
Conjunto de caracteres
Sin byte de prefijo, los puntos de código 32 (20 hexadecimal ) a 127 (7F hexadecimal ) se interpretan de la siguiente manera (correspondientes a los códigos LMBCS 32 a 127):
Grupo 1
Los puntos de código del grupo 1 de LMBCS del 128 (80 hexadecimal ) al 255 (FF hexadecimal ) son idénticos a los puntos de código correspondientes en la página de códigos 850 (DOS Latin-1), mientras que los puntos de código del 1 (01 hexadecimal ) al 127 (7F hexadecimal ) se definen de acuerdo con la siguiente lista de excepciones (que corresponde a los códigos LMBCS del 256 al 383):
Grupo 2
Los puntos de código del grupo 2 de LMBCS del 128 (80 hexadecimal ) al 255 (FF hexadecimal ) son idénticos a los puntos de código correspondientes en la página de códigos 851 (DOS griego), mientras que los puntos de código del 1 (01 hexadecimal ) al 127 (7F hexadecimal ) se definen de acuerdo con la siguiente lista de excepciones: [ f ]
Grupo 6
Los puntos de código del grupo 6 de LMBCS del 128 (80 hexadecimal ) al 255 (FF hexadecimal ) son idénticos a los puntos de código correspondientes en la página de códigos 852 (DOS Latin-2), mientras que los puntos de código del 1 (01 hexadecimal ) al 127 (7F hexadecimal ) se definen de acuerdo con la siguiente lista de excepciones: [ f ]
Véase también
Notas
- ↑ Lotus 1-2-3 Release 3.0 para DOS y versiones más recientes están escritasen C.
- ↑ ‐ (U+2010), ‑ (U+2011), ‒ (U+2012), – (U+2013)
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Según la documentación, este punto de código no es compatible con Lotus 1-2-3 Release 3.1+ para DOS y OS/2 y versiones anteriores.
- 1 2 3 4 5 6 7 8 9 Para compatibilidad con Lotus 1-2-3 Release 5.0 .
- ↑ Unicode no define un glifo para el símbolo de la moneda corona (Krone o "Kr"), por lo tanto, esto apunta al hexadecimal F8FB en el Área de Uso Privado (PUA) de Unicode.
- 1 2 Según la documentación, los puntos de código del 1 al 127 de este grupo no son compatibles con Lotus 1-2-3 Release 3.1+ para DOS y OS/2 y versiones anteriores.Estas versiones solo admitían los puntos de código LMBCS del 0 al 511, que cubren únicamente los grupos 0 y 1.
Referencias
- 1 2 3 4 5 6 7 8 9 10 11 12 13 Balaban, Bob (2001). "Conjuntos de caracteres multilingües: qué son y cómo usarlos" (PDF) . Looseleaf Software, Inc. Archivado (PDF) del original el 25/11/2016 . Recuperado el 25/11/2016 .
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 "Apéndice A. Esquemas de codificación" . Arquitectura de representación de datos de caracteres de IBM . IBM (CDRA). Conjunto de caracteres multibyte de Lotus (LMBCS). Archivado del original el 26/11/2016 . Recuperado el 26/11/2016 .
Para fines de optimización, el byte de grupo se omite en
las Notas
para valores de un solo byte entre X'20' y X'FF'. Por ejemplo, LMBCS siempre está optimizado para agrupar 0x01, lo que significa que cualquier carácter cuyo primer byte sea mayor que 0x1F tiene un byte de grupo implícito de 0x01.
- 1 2 Scherer, Markus; Murray, Brendan (2000-06-02). "Re: MS Excel, Lotus 123 y Unicode" . Archivado del original el 2016-12-06 . Recuperado el 2016-12-06 .
- ↑ "Kapitel 4. Kompatibilität mit anderen 1-2-3 Versionen – Zeichensätze" [ Capítulo 4. Compatibilidad con otras versiones 1-2-3 – Conjuntos de caracteres ] . Lotus 1-2-3 Versión 3.1 Upgrader's Handbuch [ Manual del actualizador ] (en alemán) (1 ed.). Cambridge, MA, EE.UU.: Lotus Development Corporation . 1989. págs. 4-10 - 4-11 . 302173.
- 1 2 Kamenz, Alfred; Vonhoegen, Helmut (1992). Das große Buch zu Lotus 1-2-3 für DOS (en alemán) (1 ed.). Datos Becker . págs. 131– 132, 357– 358. ISBN 3-89011-375-3.
- 1 2 3 4 Lotus – Inside Notes – La arquitectura de Notes y el servidor Domino (PDF) . Lotus Development Corporation . 2000. Archivado (PDF) del original el 12/12/2016 . Recuperado el 12/12/2016 .
[…] Notes utiliza un único conjunto de caracteres, el Conjunto de caracteres multibyte de Lotus (LMBCS), para codificar todos los datos de texto utilizados internamente por sus programas. Siempre que Notes recibe por primera vez texto codificado en un conjunto de caracteres distinto de LMBCS, lo traduce a una cadena LMBCS, y siempre que deba generar texto en un conjunto de caracteres distinto de LMBCS, traduce la cadena LMBCS interna al conjunto de caracteres apropiado. Dado que todo el texto se formatea internamente mediante LMBCS, todas las operaciones de procesamiento de texto […] se realizan de una sola manera. LMBCS utiliza hasta tres bytes en memoria para representar un único carácter de texto […]
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 Murray, Brendan; Snyder-Grant, Jim, eds. (2016) [2000-02-09]. "ucnv_lmb.c" . Componentes internacionales para Unicode . International Business Machines (IBM).
- ↑ Batutis, Edward J. (2001-11-03). "Re: tipos de convertidores" . Componentes internacionales para Unicode (ICU) . Archivado del original el 2016-12-06 . Recuperado el 2016-12-06 .
- 1 2 3 4 5 6 7 8 9 10 "LMBCS" (en japonés). 2009-02-03. Archivado del original el 2016-11-26 . Recuperado el 2016-11-26 .
- 1 2 "Anhang 2. Der Lotus Multibyte Zeichensatz (LMBCS)" [ Apéndice 2. El conjunto de caracteres multibyte de Lotus (LMBCS) ] . Lotus 1-2-3 Versión 3.1 Referenzhandbuch [ Manual de referencia de Lotus 1-2-3 Versión 3.1 ] (en alemán) (1.ª ed.). Cambridge, MA, EE. UU.: Lotus Development Corporation . 1989. págs. A2-1 – A2-13. 302168.
- 1 2 3 "lmb-excp.ucm" . GitHub . 2000-02-10.
Lecturas adicionales
- Nacido, Günter [en alemán] (diciembre de 2000) [1990]. "Kapitel 2. Formato LOTUS 1-2-3 (WK3)" [ Capítulo 2. Formato Lotus 1-2-3 WK3 ] . Dateiformate - Eine Referenz - Tabellenkalkulation, Text, Grafik, Multimedia, Sound e Internet [ Formatos de archivo - una referencia - hojas de cálculo, texto, gráficos, multimedia, sonido e Internet ] (PDF) (en alemán). Bonn, Alemania: Galileo Computing . ISBN 3-934358-83-7. Archivado (PDF) del original el 29-11-2016 . Recuperado el 28-11-2016 .(Incluye información sobre LMBCS y la gama de sistemas Lotus).
- "Tablas LMBCS" . Guía del usuario – Versión 123, versión 4 para Windows (Fax). 1995 [1994-01-01]. CAPÍTULO: Apéndice A Uso del conjunto de caracteres multibyte de Lotus. Fax 10955. Consultado el 6 de diciembre de 2016 .(Para ver los documentos, consulte Ayuda:FTP )
- "Introducción de caracteres LMBCS" . Guía del usuario – Versión 123, versión 4 para Windows (Fax). 1995 [1994-01-01]. CAPÍTULO: Apéndice A Uso del conjunto de caracteres multibyte de Lotus. Fax 10954. Consultado el 6 de diciembre de 2016 .(Para ver los documentos, consulte Ayuda:FTP )
- Soporte de Lotus. "Notas del soporte: Conjuntos de caracteres internacionales de SMTP MTA" . IBM developerWorks . IBM . Archivado del original el 8 de diciembre de 2016. Consultado el 8 de diciembre de 2016 .
- Los archivos de traducción de caracteres (.CTF) de Notes 2.x y los archivos de servicio de idioma del país (.CLS) de Notes 3.0 y versiones posteriores contienen información sobre la traducción de LMBCS a otras páginas de códigos.
Enlaces externos
- Berntrop-Bos, Lars (10 de julio de 2014). "Un recuerdo del pasado: tablas LMBCS para Windows, OS/2, Unix y Macintosh" . Archivado del original el 26 de noviembre de 2016. Consultado el 26 de noviembre de 2016 .
- Codificación de caracteres
- Conjuntos de caracteres
- Introducciones relacionadas con la informática en 1989
- Desarrollo de Lotus