Набор многобайтовых символов 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 г.