Набор многобайтовых символов Lotus
Набор многобайтовых символов Lotus ( LMBCS ) — это собственная многобайтовых кодировка символов , первоначально разработанная в 1988 году в Lotus Development Corporation при участии Боба Балабана и других. [1] Созданный примерно в то же время и решающий некоторые из тех же проблем, LMBCS можно рассматривать как параллельную разработку и возможную альтернативу Unicode . [1] Для максимальной совместимости более поздние выпуски LMBCS включают UTF-16 в качестве подмножества. [2] [3]
С коммерческой точки зрения LMBCS был впервые представлен как набор символов по умолчанию в Lotus 1-2-3 Release 3 для DOS в марте 1989 года. [1] [4] и Lotus 1-2-3/G Release 1 для OS/2 [1] в 1990 году заменил 8-битный международный набор символов Lotus (LICS) и ASCII, только для DOS использовавшийся в более ранних версиях Lotus 1-2-3 и Symphony . [5] LMBCS также используется в IBM / Lotus SmartSuite , Notes и Domino . [1] а также в ряде сторонних продуктов.
LMBCS кодирует символы, необходимые для языков, использующих латиницу , [6] арабский , иврит , греческий и кириллица [6] сценарии, тайский , китайский , японский [6] и корейские системы письма, а также технические символы.
Кодировки
[ редактировать ]Технически LMBCS — это кодировка ведущих байтов код 00 , в которой шестнадцатеричный , а также шестнадцатеричный код от 20 ( 32) до шестнадцатеричный 7F (127) идентичны ASCII. [1] (а также в LICS). [5]
код 00 Шестнадцатеричный всегда рассматривается как символ NUL, чтобы обеспечить максимальную совместимость кода с существующими программными библиотеками, работающими со строками, завершающимися нулем. [1] таких как C. во многих языках программирования , [а] Это относится даже к кодам UTF-16be, где кодовые слова в шестнадцатеричном формате xx00 сопоставляются с кодами частного использования форматом F6xx с шестнадцатеричным во время кодирования, чтобы избежать использования NUL-байтов. [7] и к экранированным управляющим символам, где шестнадцатеричное число к управляющим символам C0 (но не C1) добавляется 20, следующее за начальным шестнадцатеричным байтом 0F. [7]
Кодовые точки от 01 hex до 1F hex , которые служат управляющими кодами в ASCII, используются в качестве ведущих байтов для переключения определения кодовых точек выше 7F hex между несколькими кодовыми группами (аналогично кодовым страницам ) и одновременного определения либо одного - или многобайтовый характер для соответствующей кодовой группы. [1]
Например, группа кодов 1 (с групповым байтом 01 hex ). [1] почти идентична кодовой странице SBCS 850 , тогда как кодовая группа 16 (с групповым байтом 10 hex ) [1] аналогичен японской кодовой странице MBCS 932 . Таким образом, многобайтовые символы могут занимать два или три байта. [7] [6]
В каноническом LMBCS каждый символ начинается со своего группового байта. [1] Чтобы уменьшить длину, в оптимизированном или сжатом LMBCS группа кодов по умолчанию или код группы оптимизации могут быть определены для каждого приложения или процесса (в идеале выбираются в соответствии с наибольшей вероятностью возникновения). [1] и должен быть каким-то образом передан интерпретирующему коду (например, путем указания соответствующего имени «LMBCS- n »). [8] Таким образом, для этих символов групповой байт может быть опущен. [1] Lotus 1-2-3 извлекает код группы оптимизации из заголовка соответствующего исходного файла. [7] тогда как для Lotus Notes код группы оптимизации всегда фиксирован и равен 01 hex . [2] [7]
По умолчанию | Группа | Байты | Описание |
---|---|---|---|
Н/Д | 00 шестнадцатеричный | 1 [7] | НУЛЕВОЙ |
ЛМБКС-1 | 01 шестнадцатеричный | 2 [7] | Кодовая страница 850 (DOS Latin-1) [2] [7] |
ЛМБКС-2 | 02 шестнадцатеричный | 2 [7] | Кодовая страница 851 (DOS, греческий) [2] [7] |
ЛМБКС-3 | 03 шестнадцатеричный | 2 [7] | Кодовая страница 1255 (Windows иврит) [2] [7] |
ЛМБКС-4 | 04 шестнадцатеричный | 2 [7] | Кодовая страница 1256 (Windows арабский язык) [2] [7] |
ЛМБКС-5 | 05 шестнадцатеричный | 2 [7] | Кодовая страница 1251 (кириллица Windows) [2] [7] |
ЛМБКС-6 | 06 шестнадцатеричный | 2 [7] | Кодовая страница 852 (DOS Latin-2) [2] [7] |
Н/Д | 07 шестнадцатеричный | 1 [7] | БЕЛ [2] |
ЛМБКС-8 | 08 шестнадцатеричный | 2 [7] | Кодовая страница 1254 (Windows Турецкий) [2] [9] [7] |
Н/Д | 09 шестнадцатеричный | 1 [7] | ВКЛАДКА [2] [9] [7] |
Н/Д | 0A шестнадцатеричный | 1 [7] | НЧ [2] [9] [7] |
ЛМБКС-11 | 0B шестнадцатеричный | 2 [7] | Кодовая страница 874 (тайский) [9] [7] |
(ЛМБКС-12) | 0C шестнадцатеричный | 2 [7] | Сдержанный [2] |
Н/Д | 0D шестнадцатеричный | 1 [7] | ЧР [2] [9] [7] |
(ЛМБКС-14) | 0E шестнадцатеричный | 2 [7] | Сдержанный [2] |
(ЛМБКС-15) | 0F шестнадцатеричный | 2 [7] | Переназначены управляющие коды C0/C1. [7] |
ЛМБКС-16 | 10 шестигранников | 3 [7] | Кодовая страница 932 / [2] 943 [7] (японский / Shift-JIS) [2] [9] |
ЛМБКС-17 | 11 шестигранник | 3 [7] | Кодовая страница 949 / [2] 1261 [7] (Корейский) [2] [9] |
ЛМБКС-18 | 12 шестигранников | 3 [7] | Кодовая страница 950 [2] [7] (Традиционный китайский/Тайвань/ Big5 ) [2] [9] |
LMBCS-19 | 13 шестигранников | 3 [7] | Кодовая страница 936 / [2] 1386 [7] (упрощенный китайский) [2] [9] |
(ЛМБКС-20) | 14 шестигранников | 3 [7] | UTF-16 ( Юникод ) [2] [3] [7] |
Н/Д | 15 шестигранников | 3 | Сдержанный [2] |
Н/Д | 16 шестигранник | 3 | Сдержанный [2] |
Н/Д | 17 шестигранников | 3 | Сдержанный [2] |
Н/Д | 18 шестигранников | 3 | Сдержанный [2] |
Н/Д | 19 шестигранник | 1 [7] | Lotus 1-2-3 Диапазон систем [9] [7] |
Н/Д | 1А шестигранник | 3 | Сдержанный [2] |
Н/Д | 1B шестигранник | 3 | Сдержанный [2] |
Н/Д | 1C шестигранник | 3 | Сдержанный [2] |
Н/Д | 1D шестигранник | 3 | Сдержанный [2] |
Н/Д | 1E шестигранник | 3 | Сдержанный [2] |
Н/Д | 1F шестигранник | 3 | Сдержанный [2] |
Набор символов
[ редактировать ]Без префиксного байта кодовые точки с 32 (20 hex ) по 127 (7F hex ) интерпретируются следующим образом (соответствуют кодам LMBCS с 32 по 127):
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | И | Ф | |
2x | СП | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | А | Б | С | Д | И | Ф | Г | ЧАС | я | Дж | К | л | М | Н | ТО |
5x | П | вопрос | Р | С | Т | В | V | В | Х | И | С | [ | \ | ] | ^ | _ |
6x | ` | а | б | с | д | и | ж | г | час | я | дж | к | л | м | н | тот |
7x | п | д | р | с | т | в | v | В | х | и | С | { | | | } | ~ | ДЕЛ / ⌂ |
Группа 1
[ редактировать ]Кодовые точки группы 1 LMBCS от 128 (80 шестнадцатеричный ) до 255 (FF шестнадцатеричный ) идентичны соответствующим кодовым точкам на кодовой странице 850 (DOS Latin-1), тогда как кодовые точки от 1 (01 шестнадцатеричный ) до 127 (7F шестнадцатеричный ) определены согласно следующему списку исключений (соответствует кодам LMBCS от 256 до 383):
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | И | Ф | |
0x | НУЛЕВОЙ | ☺ | ☻ | ♥ | ♦ | ♣ | ♠ | • | ◘ | ○ | ◙ | ♂ | ♀ | ♪ | ♫ | ☼ |
1x | ► | ◄ | ↕ | ‼ | ¶ | § | ▬ | ↨ | ↑ | ↓ | → | ← | ∟ | ↔ | ▲ | ▼ |
2x | ¨ | ~ | ˚ | ^ | ` | ´ | “ | ' | … | - [б] | — | ‘ [с] | ’ [с] | ‹ | › | |
3x | ¨ [д] | ~ [д] | ˚ [д] | ^ [д] | ` [д] | ´ [д] | „ | ‚ | ” | ‗ | nbsp [с] | � [с] | ||||
4x | О | œ | Ÿ | ˙ [с] | ˚ [с] [д] | ╞ | ╟ | ▌ | ▐ | ◊ [с] | ⌘ [с] | [с] | [с] | Ой [с] | ||
5x | ╨ | ╤ | ╥ | ╙ | ╘ | ╒ | ╓ | ╫ | ╪ | ╡ | ╢ | ╖ | ╕ | ╜ | ╛ | ╧ |
6x | ij | IJ | быть | fl | а | ŀ | Ŀ | ¯ [с] | ˘ [с] | ˝ [с] | ˛ [с] | ˇ [с] | ~ [с] [д] | ^ [с] [д] | ||
7x | † | ‡ | ЧАС [с] | час [с] | Ŧ [с] | ŧ [с] | ™ | ℓ | С [с] | ŋ [с] | ĸ [с] | НОК [и] | ⌐ | ₤ | ₧ |
Группа 2
[ редактировать ]Кодовые точки группы 2 LMBCS от 128 (80 шестнадцатеричный ) до 255 (FF шестнадцатеричный ) идентичны соответствующим кодовым точкам на кодовой странице 851 (греческий DOS), тогда как кодовые точки от 1 (01 шестнадцатеричный ) до 127 (7F шестнадцатеричный ) определяются в соответствии с следующий список исключений: [ф]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | И | Ф | |
0x | НУЛЕВОЙ | ͺ | ΅ | Да | Да | ― | ΄ | ʼ | ʽ | ‾ | | | ||||
1x | | | ⇕ | ⅞ | ⅝ | ⅜ | ⅛ | | ⇑ | ⇓ | ⇒ | ⇐ | | ⇔ | | |
2x | | | | | | | | | | | | | | | | |
3x | | | | | | | | | | | | | | | | |
4x | ∠ | ∇ | | | | | | | | | | | | | | |
5x | ∂ | А | ℑ | ℜ | | | | | | | | ∋ | ∈ | ∉ | ⊆ | ⊇ |
6x | ⊗ | ⊕ | ✓ | ⋀ | ∁ | ∫ | ∀ | ∃ | | ′ | ″ | ∞ | ∝ | ж | ∪ | ∩ |
7x | ≡ | ≅ | ≥ | ≤ | ⌠ | ⌡ | ≠ | ≈ | ⁄ | ∙ | ‰ | √ | ⁿ | ∅ | ⊂ | ⊃ |
Группа 6
[ редактировать ]Кодовые точки группы 6 LMBCS от 128 (80 шестнадцатеричный ) до 255 (FF шестнадцатеричный ) идентичны соответствующим кодовым точкам на кодовой странице 852 (DOS Latin-2), тогда как кодовые точки от 1 (01 шестнадцатеричный ) до 127 (7F шестнадцатеричный ) определены согласно следующему списку исключений: [ф]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | И | Ф | |
0x | НУЛЕВОЙ | и | Ч | с | С | с | БЫЛИ | были | Э | Эм-м-м | Дж | дж | Г | с | Г | г |
1x | Ч | ч | Я | ой | я | я | К | к | Дж | диджей | К | к | л | л | Н | нет |
2x | Ой | ой | О | ŗ | Ш | ш | Ũ | фу | О | Эм-м-м | Вт | ш | Ø | Эм-м-м | И | |
3x | ||||||||||||||||
4x | ||||||||||||||||
5x | ||||||||||||||||
6x | ||||||||||||||||
7x |
См. также
[ редактировать ]- Создать ключ
- ГБ 18030
- Стандартная схема сжатия для Unicode (SCSU)
- Символ (шрифт)
- Стандарт кодов символов Xerox (XCCS)
Примечания
[ редактировать ]- ^ Lotus 1-2-3 Release 3.0 для DOS версии написаны на C. и более новые
- ^ ‐ (U+2010), ‑ (U+2011), ‒ (U+2012), – (U+2013)
- ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в v В х и Согласно документации этот код не поддерживается Lotus 1-2-3 Release 3.1+ для DOS и OS/2 и более ранних версий.
- ^ Jump up to: а б с д и ж г час я Для совместимости с Lotus 1-2-3 Release 5.0 .
- ^ Unicode не определяет глиф для символа валюты кроны (крона, также известная как «Kr»), поэтому он указывает на шестнадцатеричный код Unicode F8FB в области частного использования (PUA).
- ^ Jump up to: а б Согласно документации кодовые точки с 1 по 127 в этой группе не поддерживаются Lotus 1-2-3 Release 3.1+ для DOS и OS/2 и более ранних версий. Эти версии поддерживали только кодовые точки LMBCS от 0 до 511, охватывая только группы 0 и 1.
Ссылки
[ редактировать ]- ^ Jump up to: а б с д и ж г час я дж к л м Балабан, Боб (2001). «Многоязычные наборы символов: что это такое и как их использовать» (PDF) . Looseleaf Software, Inc. Архивировано (PDF) из оригинала 25 ноября 2016 г. Проверено 25 ноября 2016 г.
- ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в v В х и С аа аб и объявление но из в ах «Приложение А. Схемы кодирования» . IBM Архитектура представления символьных данных . IBM (CDRA). Набор многобайтовых символов Lotus (LMBCS). Архивировано из оригинала 26 ноября 2016 г. Проверено 26 ноября 2016 г.
В целях оптимизации групповой байт опущен в Примечаниях для однобайтовых значений между X'20' и X'FF'. Например, LMBCS всегда оптимизирован для группы 0x01, что означает, что любой символ, первый байт которого больше 0x1F, имеет неявный групповой байт 0x01.
- ^ Jump up to: а б Шерер, Маркус; Мюррей, Брендан (2 июня 2000 г.). «Re: MS Excel, Lotus 123 и Unicode» . Архивировано из оригинала 6 декабря 2016 г. Проверено 6 декабря 2016 г.
- ^ «Глава 4. Совместимость с другими версиями 1-2-3 – Наборы символов». Руководство пользователя по обновлению Lotus 1-2-3 версии 3.1 на ( немецком языке) (1-е изд.). Кембридж, Массачусетс, США: Lotus Development Corporation . 1989. стр. 4-10–4-11. 302173.
- ^ Jump up to: а б Каменц, Альфред; Фонхёген, Хельмут (1992). Большая книга по Lotus 1-2-3 для DOS (на немецком языке) (1-е изд.). Данные Беккер . стр. 131–132, 357–358. ISBN 3-89011-375-3 .
- ^ Jump up to: а б с д Lotus – Inside Notes – Архитектура Notes и сервера Domino (PDF) . Корпорация развития Лотос . 2000. Архивировано (PDF) из оригинала 12 декабря 2016 г. Проверено 12 декабря 2016 г.
[…] Notes использует один набор символов, многобайтовый набор символов Lotus (LMBCS), для кодирования всех текстовых данных, используемых внутри его программ. Всякий раз, когда Notes впервые вводит текст, закодированный в наборе символов, отличном от LMBCS, он преобразует текст в строку LMBCS, а всякий раз, когда ему необходимо вывести текст в наборе символов, отличном от LMBCS, он преобразует внутреннюю строку LMBCS в соответствующий набор символов. Поскольку весь текст внутренне форматируется с помощью LMBCS, все операции обработки текста […] выполняются только одним способом. LMBCS использует до трех байтов в памяти для представления одного текстового символа […]
- ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в v В х и С аа аб и объявление но из в ах есть также и аль являюсь а к ап ак с как Мюррей, Брендан; Снайдер-Грант, Джим, ред. (2016) [09.02.2000]. "ucnv_lmb.c" . Международные компоненты для Unicode . Международные бизнес-машины (IBM).
- ^ Батутис, Эдвард Дж. (3 ноября 2001 г.). «Re: типы конвертеров» . Международные компоненты для Unicode (ICU) . Архивировано из оригинала 6 декабря 2016 г. Проверено 6 декабря 2016 г.
- ^ Jump up to: а б с д и ж г час я дж «LMBCS» (на японском языке). 03.02.2009. Архивировано из оригинала 26 ноября 2016 г. Проверено 26 ноября 2016 г. [1]
- ^ Jump up to: а б «Anhang 2. Der Lotus Multibyte Zeichensatz (LMBCS)» [Приложение 2. Набор многобайтовых символов Lotus (LMBCS)]. Lotus 1-2-3 Версия 3.1 Referenzhandbuch [ Справочное руководство Lotus 1-2-3 Версия 3.1 ] (на немецком языке) (1-е изд.). Кембридж, Массачусетс, США: Lotus Development Corporation . 1989. стр. А2-1–А2-13. 302168.
- ^ Jump up to: а б с "lmb-excp.ucm" . Гитхаб . 10 февраля 2000 г.
Дальнейшее чтение
[ редактировать ]- Родился, Гюнтер [на немецком языке] (декабрь 2000 г.) [1990]. «Глава 2. Формат LOTUS 1-2-3 (WK3)» [Глава 2. Формат Lotus 1-2-3 WK3]. Форматы файлов – справочник – электронные таблицы, текст, графика, мультимедиа, звук и Интернет [ Форматы файлов – справочник – электронные таблицы, текст, графика, мультимедиа, звук и Интернет ] (PDF) (на немецком языке). Бонн, Германия: Galileo Computing . ISBN 3-934358-83-7 . Архивировано (PDF) из оригинала 29 ноября 2016 г. Проверено 28 ноября 2016 г. (Включает некоторую информацию о линейках систем LMBCS и Lotus.)
- «Таблицы LMBCS» . Руководство пользователя – 123 Выпуск 4 для Windows (факс). Лотос Девелопмент . 1995 [1994-01-01]. ГЛАВА: Приложение A. Использование многобайтового набора символов Lotus. Факс 10955 . Проверено 6 декабря 2016 г.
- «Ввод символов LMBCS» . Руководство пользователя – 123 Выпуск 4 для Windows (факс). Лотос Девелопмент . 1995 [1994-01-01]. ГЛАВА: Приложение A. Использование многобайтового набора символов Lotus. Факс 10954 . Проверено 6 декабря 2016 г.
- Поддержка Лотоса. «Примечания службы поддержки: международные наборы символов SMTP MTA» . IBM DeveloperWorks . ИБМ . Архивировано из оригинала 8 декабря 2016 г. Проверено 8 декабря 2016 г.
- Файлы перевода символов (.CTF) в Notes 2.x и файлы Country Language Service (.CLS) в Notes 3.0 и выше содержат информацию о переводе LMBCS в другие кодовые страницы [2] [3]
Внешние ссылки
[ редактировать ]- Бернтроп-Бос, Ларс (10 июля 2014 г.). «Взрыв из прошлого: таблицы LMBCS для Windows, OS/2, Unix и Macintosh» . Архивировано из оригинала 26 ноября 2016 г. Проверено 26 ноября 2016 г.