Набор многобайтовых символов Lotus - Lotus Multi-Byte Character Set
В Набор многобайтовых символов Lotus (LMBCS) является проприетарной многобайтовый кодировка символов первоначально задумана в 1988 году в Lotus Development Corporation при участии Боба Балабана и других.[1] Созданный примерно в то же время и решающий некоторые из тех же проблем, LMBCS можно рассматривать как параллельную разработку и возможную альтернативу Unicode.[1] Для максимальной совместимости более поздние выпуски LMBCS включают UTF-16 как подмножество.[2][3]
С коммерческой точки зрения LMBCS был впервые представлен как набор символов по умолчанию для Lotus 1-2-3, выпуск 3 за ДОС в марте 1989 г.[1][4] и Lotus 1-2-3 / G Выпуск 1 за OS / 2[1] в 1990 году замена 8-битной Набор символов Lotus International (LICS) и ASCII использовался в более ранних версиях Lotus 1-2-3 и только для DOS. Симфония.[5] LMBCS также используется в IBM /Лотос SmartSuite, Примечания и Домино,[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] и управляющим символам с экранированием, где 20шестнадцатеричный добавляется к управляющим символам C0 (но не C1) после 0Fшестнадцатеричный ведущий байт.[7]
Кодовые точки 01шестнадцатеричный до 1 этажашестнадцатеричный, которые служат в качестве управляющих кодов в ASCII, используются как ведущие байты для переключения определения кодовых точек выше 7Fшестнадцатеричный между несколькими кодовые группы (похожий на кодовые страницы ) и в то же время определить однобайтовый или многобайтовый характер для соответствующей кодовой группы.[1]
Например, кодовая группа 1 (с групповым байтом 01шестнадцатеричный)[1] почти идентичен SBCS кодовая страница 850, тогда как кодовая группа 16 (с групповым байтом 10шестнадцатеричный)[1] похож на японца MBCS кодовая страница 932. Таким образом, многобайтовые символы могут занимать два или три байта.[7][6]
В канонический LMBCS, каждый символ начинается со своего группового байта.[1]Чтобы уменьшить длину, в оптимизированный или сжатый LMBCS а группа кодов по умолчанию или код группы оптимизации может быть определен для каждого приложения или процесса (в идеале выбирается в соответствии с наибольшей вероятностью возникновения)[1] и должен быть каким-то образом передан интерпретирующему коду (например, путем указания соответствующего "LMBCS-п" имя).[8] Таким образом, для этих символов можно опустить групповой байт.[1] Lotus 1-2-3 извлекает код группы оптимизации из заголовка соответствующего исходного файла,[7] тогда как для Lotus Notes код группы оптимизации всегда равен 01шестнадцатеричный.[2][7]
По умолчанию | Группа | Байтов | Описание |
---|---|---|---|
Нет данных | 00шестнадцатеричный | 1[7] | NUL |
LMBCS-1 | 01шестнадцатеричный | 2[7] | Кодовая страница 850 (DOS Latin-1)[2][7] |
LMBCS-2 | 02шестнадцатеричный | 2[7] | Кодовая страница 851 (DOS греческий)[2][7] |
LMBCS-3 | 03шестнадцатеричный | 2[7] | Кодовая страница 1255 (Windows на иврите)[2][7] |
LMBCS-4 | 04шестнадцатеричный | 2[7] | Кодовая страница 1256 (Windows арабский)[2][7] |
LMBCS-5 | 05шестнадцатеричный | 2[7] | Кодовая страница 1251 (Windows кириллица)[2][7] |
LMBCS-6 | 06шестнадцатеричный | 2[7] | Кодовая страница 852 (DOS Latin-2)[2][7] |
Нет данных | 07шестнадцатеричный | 1[7] | BEL[2] |
LMBCS-8 | 08шестнадцатеричный | 2[7] | Кодовая страница 1254 (Windows турецкий)[2][9][7] |
Нет данных | 09шестнадцатеричный | 1[7] | TAB[2][9][7] |
Нет данных | 0Aшестнадцатеричный | 1[7] | LF[2][9][7] |
LMBCS-11 | 0Bшестнадцатеричный | 2[7] | Кодовая страница 874 (Тайский)[9][7] |
(LMBCS-12) | 0Cшестнадцатеричный | 2[7] | Зарезервированный[2] |
Нет данных | 0Dшестнадцатеричный | 1[7] | CR[2][9][7] |
(LMBCS-14) | 0Eшестнадцатеричный | 2[7] | Зарезервированный[2] |
(LMBCS-15) | 0Fшестнадцатеричный | 2[7] | Переназначенные контрольные коды C0 / C1[7] |
LMBCS-16 | 10шестнадцатеричный | 3[7] | Кодовая страница 932 /[2]943[7] (Японский / Shift-JIS)[2][9] |
LMBCS-17 | 11шестнадцатеричный | 3[7] | Кодовая страница 949 /[2]1261[7] (Корейский)[2][9] |
LMBCS-18 | 12шестнадцатеричный | 3[7] | Кодовая страница 950[2][7] (Традиционный китайский / Тайвань / Big5 )[2][9] |
LMBCS-19 | 13шестнадцатеричный | 3[7] | Кодовая страница 936 /[2]1386[7] (Упрощенный китайский)[2][9] |
(LMBCS-20) | 14шестнадцатеричный | 3[7] | UTF-16 (Unicode )[2][3][7] |
Нет данных | 15шестнадцатеричный | 3 | Зарезервированный[2] |
Нет данных | 16шестнадцатеричный | 3 | Зарезервированный[2] |
Нет данных | 17шестнадцатеричный | 3 | Зарезервированный[2] |
Нет данных | 18шестнадцатеричный | 3 | Зарезервированный[2] |
Нет данных | 19шестнадцатеричный | 1[7] | Лотос 1-2-3 системный диапазон[9][7] |
Нет данных | 1Ашестнадцатеричный | 3 | Зарезервированный[2] |
Нет данных | 1Bшестнадцатеричный | 3 | Зарезервированный[2] |
Нет данных | 1Сшестнадцатеричный | 3 | Зарезервированный[2] |
Нет данных | 1Dшестнадцатеричный | 3 | Зарезервированный[2] |
Нет данных | 1Eшестнадцатеричный | 3 | Зарезервированный[2] |
Нет данных | 1Fшестнадцатеричный | 3 | Зарезервированный[2] |
Набор символов
Без префиксного байта кодовые точки 32 (20шестнадцатеричный) до 127 (7Fшестнадцатеричный) интерпретируются следующим образом (соответствует кодам LMBCS с 32 по 127):
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2_ 32 | SP 0020 | ! 0021 | " 0022 | # 0023 | $ 0024 | % 0025 | & 0026 | ' 0027 | ( 0028 | ) 0029 | * 002A | + 002B | , 002C | - 002D | . 002E | / 002F |
3_ 48 | 0 0030 | 1 0031 | 2 0032 | 3 0033 | 4 0034 | 5 0035 | 6 0036 | 7 0037 | 8 0038 | 9 0039 | : 003A | ; 003B | < 003C | = 003D | > 003E | ? 003F |
4_ 64 | @ 0040 | А 0041 | B 0042 | C 0043 | D 0044 | E 0045 | F 0046 | г 0047 | ЧАС 0048 | я 0049 | J 004A | K 004B | L 004C | M 004D | N 004E | О 004F |
5_ 80 | п 0050 | Q 0051 | р 0052 | S 0053 | Т 0054 | U 0055 | V 0056 | W 0057 | Икс 0058 | Y 0059 | Z 005A | [ 005B | \ 005C | ] 005D | ^ 005E | _ 005F |
6_ 96 | ` 0060 | а 0061 | б 0062 | c 0063 | d 0064 | е 0065 | ж 0066 | г 0067 | час 0068 | я 0069 | j 006A | k 006B | л 006C | м 006D | п 006E | о 006F |
7_ 112 | п 0070 | q 0071 | р 0072 | s 0073 | т 0074 | ты 0075 | v 0076 | ш 0077 | Икс 0078 | у 0079 | z 007A | { 007B | | 007C | } 007D | ~ 007E | DEL /⌂ 007F / 2302 |
Письмо Число Пунктуация Символ Другой Неопределенный
Группа 1
LMBCS группа 1 кодовых точек 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 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 | NUL 0000 | ☺ 263A | ☻ 263B | ♥ 2665 | ♦ 2666 | ♣ 2663 | ♠ 2660 | • 2022 | ◘ 25D8 | ○ 25CB | ◙ 25D9 | ♂ 2642 | ♀ 2640 | ♪ 266A | ♫ 266B | ☼ 263C |
1_ 16 | ► 25BA | ◄ 25C4 | ↕ 2195 | ‼ 203C | ¶ 00B6 | § 00A7 | ▬ 25AC | ↨ 21A8 | ↑ 2191 | ↓ 2193 | → 2192 | ← 2190 | ∟ 221F | ↔ 2194 | ▲ 25B2 | ▼ 25 г. до н.э. |
2_ 32 | ¨ 00A8 | ~ 007E | ˚ 02DA | ^ 005E | ` 0060 | ´ 00B4 | “ 201C | ' 0027 | … 2026 | -[b] 2013 | — 2014 | ‘[c] 2018 | ’[c] 2019 | ‹ 2039 | › 203A | |
3_ 48 | ¨[d] 00A8 | ~[d] 007E | ˚[d] 02DA | ^[d] 005E | `[d] 0060 | ´[d] 00B4 | „ 201E | ‚ 201A | ” 201D | ‗ 2017 | nbsp[c] 00A0 | �[c] FFFD | ||||
4_ 64 | Œ 0152 | œ 0153 | Ÿ 0178 | ˙[c] 02D9 | ˚[c][d] 02DA | ╞ 255E | ╟ 255F | ▌ 258C | ▐ 2590 | ◊[c] 25CA | ⌘[c] 2318 | [c] F8FF | [c] F8FE | Ω[c] 2126 | ||
5_ 80 | ╨ 2568 | ╤ 2564 | ╥ 2565 | ╙ 2559 | ╘ 2558 | ╒ 2552 | ╓ 2553 | ╫ 256B | ╪ 256A | ╡ 2561 | ╢ 2562 | ╖ 2556 | ╕ 2555 | ╜ 255C | ╛ 255B | ╧ 2567 |
6_ 96 | ij 0133 | IJ 0132 | ф FB01 | fl FB02 | ʼn 0149 | ŀ 0140 | Ŀ 013F | ¯[c] 00AF | ˘[c] 02D8 | ˝[c] 02DD | ˛[c] 02ДБ | ˇ[c] 02C7 | ~[c][d] 007E | ^[c][d] 005E | ||
7_ 112 | † 2020 | ‡ 2021 | ЧАС[c] 0126 | час[c] 0127 | Ŧ[c] 0166 | ŧ[c] 0167 | ™ 2122 | ℓ 2113 | Ŋ[c] 014A | ŋ[c] 014B | ĸ[c] 0138 | Kr[e] | ⌐ 2310 | ₤ 20A4 | ₧ 20A7 |
Письмо Число Пунктуация Символ Другой Неопределенный Сопоставлен с Unicode персонаж частного использования
Группа 2
LMBCS группа 2 кодовых точек 128 (80шестнадцатеричный) до 255 (FFшестнадцатеричный) идентичны соответствующим кодовым точкам в кодовая страница 851 (Греческий DOS), тогда как кодовые точки 1 (01шестнадцатеричный) до 127 (7Fшестнадцатеричный) определены в соответствии со следующим списком исключений:[f]
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 | NUL 0000 | ͺ 037A | ΅ 0385 | Ϊ 03AA | Ϋ 03AB | ― 2015 | ΄ 0384 | ʼ 02BC | ʽ 02BD | ‾ 203E | F862 | F863 | ||||
1_ 16 | F864 | F865 | ⇕ 21D5 | ⅞ 215E | ⅝ 215D | ⅜ 215C | ⅛ 215B | F867 | ⇑ 21D1 | ⇓ 21D3 | ⇒ 21D2 | ⇐ 21D0 | F868 | ⇔ 21D4 | F869 | F89F |
2_ 32 | F89E | F89D | F89C | F89B | F89A | F899 | F898 | F897 | F896 | F895 | F894 | F893 | F892 | F891 | F890 | F88F |
3_ 48 | F88E | F88D | F88C | F88B | F88A | F889 | F888 | F887 | F886 | F885 | F884 | F883 | F882 | F881 | F880 | F866 |
4_ 64 | ∠ 2220 | ∇ 2207 | F87F | F87E | F87D | F87C | F87B | F87A | F879 | F878 | F877 | F876 | F875 | F874 | F873 | F872 |
5_ 80 | ∂ 2202 | ℵ 2135 | ℑ 2111 | ℜ 211C | F871 | F870 | F86F | F86E | F86D | F86C | F86B | ∋ 220B | ∈ 2208 | ∉ 2209 | ⊆ 2286 | ⊇ 2287 |
6_ 96 | ⊗ 2297 | ⊕ 2295 | ✓ 2713 | ⋀ 22C0 | ∁ 2201 | ∫ 222B | ∀ 2200 | ∃ 2203 | F86A | ′ 2032 | ″ 2033 | ∞ 221E | ∝ 221D | φ 03C6 | ∪ 222A | ∩ 2229 |
7_ 112 | ≡ 2261 | ≅ 2245 | ≥ 2265 | ≤ 2264 | ⌠ 2320 | ⌡ 2321 | ≠ 2260 | ≈ 2248 | ⁄ 2044 | ∙ 2219 | ‰ 2030 | √ 221A | ⁿ 207F | ∅ 2205 | ⊂ 2282 | ⊃ 2283 |
Письмо Число Пунктуация Символ Другой Неопределенный Сопоставлен с Unicode персонаж частного использования
6 группа
LMBCS группа 6 кодовых точек 128 (80шестнадцатеричный) до 255 (FFшестнадцатеричный) идентичны соответствующим кодовым точкам в кодовая страница 852 (DOS Latin-2), тогда как кодовые точки 1 (01шестнадцатеричный) до 127 (7Fшестнадцатеричный) определены в соответствии со следующим списком исключений:[f]
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 | NUL 0000 | ā 0101 | Ĉ 0108 | ĉ 0109 | Ċ 010A | ċ 010B | Ē 0112 | ē 0113 | Ė 0116 | ė 0117 | Г 011C | г 011D | Г 0120 | г 0121 | Г 0122 | г 0123 |
1_ 16 | ЧАС 0124 | час 0125 | Я 0128 | я 0129 | Я 012A | я 012B | Я 012E | я 012F | Ĵ 0134 | ĵ 0135 | Ķ 0136 | ķ 0137 | Ļ 013B | ļ 013C | Ņ 0145 | ņ 0146 |
2_ 32 | Ō 014C | ō 014D | Р 0156 | р 0157 | Ŝ 015C | ŝ 015D | Ũ 0168 | ũ 0169 | Ū 016A | ū 016B | Ŭ 016C | ŭ 016D | Ų 0172 | ų 0173 | Ā 0100 | |
3_ 48 | ||||||||||||||||
4_ 64 | ||||||||||||||||
5_ 80 | ||||||||||||||||
6_ 96 | ||||||||||||||||
7_ 112 |
Письмо Число Пунктуация Символ Другой Неопределенный
Смотрите также
Примечания
- ^ Lotus 1-2-3, выпуск 3.0 за ДОС и более новые версии написаны на C.
- ^ ‐ (U + 2010), ‑ (U + 2011), ‒ (U + 2012), – (U + 2013)
- ^ а б c d е ж г час я j k л м п о п q р s т ты v ш Икс у Согласно документации, этот код не поддерживается Lotus 1-2-3, выпуск 3.1+ для DOS и OS / 2 и ранее.
- ^ а б c d е ж г час я Для совместимости с Lotus 1-2-3, выпуск 5.0.
- ^ Unicode не определяет глиф для валюта короны символ (Krone aka "Kr"), следовательно, это указывает на F8FBшестнадцатеричный в Юникоде Зона частного использования (PUA).
- ^ а б Согласно документации, коды с 1 по 127 в этой группе не поддерживаются Lotus 1-2-3, выпуск 3.1+ для DOS и OS / 2 и ранее. Эти версии поддерживали только кодовые точки LMBCS от 0 до 511, охватывая только группы 0 и 1.
использованная литература
- ^ а б c d е ж г час я j k л м Балабан, Боб (2001). "Многоязычные наборы символов - что это такое и как их использовать" (PDF). Looseleaf Software, Inc. В архиве (PDF) из оригинала от 25.11.2016. Получено 2016-11-25.
- ^ а б c d е ж г час я j k л м п о п q р s т ты v ш Икс у z аа ab ac объявление ае аф аг ах «Приложение А. Схемы кодирования». IBM Архитектура представления символьных данных. IBM (CDRA). Многобайтовый набор символов Lotus (LMBCS). В архиве из оригинала от 26.11.2016. Получено 2016-11-26.
В целях оптимизации групповой байт в Примечания для однобайтовых значений от X'20 'до X'FF'. Например, LMBCS всегда оптимизирован для группы 0x01, что означает, что любой символ, первый байт которого больше 0x1F, имеет неявный групповой байт 0x01.
- ^ а б Шерер, Маркус; Мюррей, Брендан (2 июня 2000). "Re: MS Excel, Lotus 123 и Unicode". В архиве из оригинала от 06.12.2016. Получено 2016-12-06.
- ^ «Kapitel 4. Kompatibilität mit anderen 1-2-3 Versionen - Zeichensätze» [Глава 4. Совместимость с другими версиями 1-2-3 - Наборы символов]. Руководство по обновлению Lotus 1-2-3 до версии 3.1 [Справочник обновителя] (на немецком языке) (1-е изд.). Кембридж, Массачусетс, США: Lotus Development Corporation. 1989. С. 4-10–4-11. 302173.
- ^ а б Каменц, Альфред; Фонхеген, Хельмут (1992). Das große Buch zu Lotus 1-2-3 для DOS (на немецком языке) (1-е изд.). Данные Беккер. С. 131–132, 357–358. ISBN 3-89011-375-3.
- ^ а б c d Lotus - Inside Notes - Архитектура Notes и сервера Domino (PDF). Lotus Development Corporation. 2000. В архиве (PDF) из оригинала от 12.12.2016. Получено 2016-12-12.
[…] Notes использует единый набор символов, многобайтовый набор символов Lotus (LMBCS), для кодирования всех текстовых данных, используемых внутри его программ. Каждый раз, когда Notes сначала вводит текст, закодированный в наборе символов, отличном от LMBCS, он переводит текст в строку LMBCS, а всякий раз, когда он должен выводить текст в наборе символов, отличном от LMBCS, он переводит внутреннюю строку LMBCS в соответствующий набор символов. Поскольку весь текст внутренне отформатирован LMBCS, все операции обработки текста […] выполняются только одним способом. LMBCS использует до трех байтов в памяти для представления одного текстового символа […]
- ^ а б c d е ж г час я j k л м п о п q р s т ты v ш Икс у z аа ab ac объявление ае аф аг ах ай эй ак аль я ан ао ap водный ар так как Мюррей, Брендан; Снайдер-Грант, Джим, ред. (2016) [2000-02-09]. "ucnv_lmb.c". Международные компоненты для Unicode. Международные Бизнес Машины (IBM).
- ^ Батутис, Эдвард Дж. (2001-11-03). «Re: типы преобразователей». Международные компоненты для Unicode (ICU). В архиве из оригинала от 06.12.2016. Получено 2016-12-06.
- ^ а б c d е ж г час я j «LMBCS» (по-японски). 2009-02-03. В архиве из оригинала от 26.11.2016. Получено 2016-11-26.[1]
- ^ а б "Anhang 2. Многобайтовый лотос Zeichensatz (LMBCS)" [Приложение 2. Многобайтовый набор символов Lotus (LMBCS)]. Lotus 1-2-3 Версия 3.1 Справочник [Справочное руководство Lotus 1-2-3 версии 3.1] (на немецком языке) (1-е изд.). Кембридж, Массачусетс, США: Lotus Development Corporation. 1989. pp. A2-1 – A2-13. 302168.
- ^ а б c "lmb-excp.ucm". 2000-02-10.
дальнейшее чтение
- Родился, Гюнтер (Декабрь 2000 г.) [1990]. «Капитель 2. LOTUS 1-2-3-Format (WK3)» [Глава 2. Формат Lotus 1-2-3 WK3]. Dateiformate - Eine Referenz - Tabellenkalkulation, Text, Grafik, Multimedia, Sound und Internet [Форматы файлов - справочник - электронные таблицы, текст, графика, мультимедиа, звук и Интернет] (PDF) (на немецком). Бонн, Германия: Galileo Computing. ISBN 3-934358-83-7. В архиве (PDF) из оригинала от 29.11.2016. Получено 2016-11-28. (Включает некоторую информацию о диапазонах систем LMBCS и Lotus.)
- «Таблицы LMBCS». Руководство пользователя - 123 выпуск 4 для Windows (Факс). Лотус Девелопмент. 1995 [1994-01-01]. ГЛАВА: Приложение A Использование многобайтового набора символов Lotus. Факс 10955. Получено 2016-12-06.
- «Ввод символов LMBCS». Руководство пользователя - 123 Release 4 для Windows (Факс). Лотус Девелопмент. 1995 [1994-01-01]. ГЛАВА: Приложение A Использование многобайтового набора символов Lotus. Факс 10954. Получено 2016-12-06.
- Поддержка Lotus. «Примечания от службы поддержки: Международные наборы символов SMTP MTA». IBM developerWorks. IBM. В архиве из оригинала на 2016-12-08. Получено 2016-12-08.
- Файлы перевода символов (.CTF) от Notes 2.x и файлы Country Language Service (.CLS) от Notes 3.0 и выше содержат информацию о переводе LMBCS в другие кодовые страницы [2] [3]
внешние ссылки
- Бернтроп-Бос, Ларс (10.07.2014). «Взрыв прошлого: таблицы LMBCS для Windows, OS / 2, Unix и Macintosh». В архиве из оригинала от 26.11.2016. Получено 2016-11-26.