Lotus Multi-Byte-Charakter-Set
Das Lotus Multi-Byte-Charakter-Set (LMBCS) ist ein Eigentum Multi-byte Zeichenkodierung ursprünglich 1988 konzipiert bei Lotus Development Corporation mit Input von Bob Balaban und anderen.[1] Etwa zur gleichen Zeit erstellt und einige der gleichen Probleme angehen, kann LMBCs als parallele Entwicklung und mögliche Alternative zu einer möglichen Alternative angesehen werden Unicode.[1] Für maximale Kompatibilität beinhalten spätere Probleme der LMBCs UTF-16 als Untergruppe.[2][3]
Kommerziell wurde LMBCS erstmals als Standardcharakter -Satz von vorgestellt Lotus 1-2-3 Release 3 zum DOS Im März 1989[1][4] und Lotus 1-2-3/g Release 1 zum OS/2[1] 1990 ersetzt das 8-Bit Lotus International Character Set (LICs) und ASCII verwendet in früheren DOS-Versionen von Lotus 1-2-3 und Symphonie.[5] LMBCS wird auch in verwendet IBM/Lotus SmartSuite, Anmerkungen und Domino,[1] sowie in einer Reihe von Produkten von Drittanbietern.
LMBCS codiert die Zeichen für Sprachen mit der Latein,[6] Arabisch, hebräisch, griechisch und kyrillisch[6] Skripte, die Thai, Chinesisch, japanisch[6] und Koreanisch Schreibsysteme und technische Symbole.
Codierungen
Technisch gesehen ist LMBCS eine Lead-Byte-Codierung, bei der Codepunkt 00verhexen sowie Codepunkte 20verhexen (32) bis 7fverhexen (127) sind identisch mit ASCII[1] (sowie LICs).[5]
Codepunkt 00verhexen wird immer als behandelt als NUL Charakter Um die maximale Codekompatibilität mit vorhandenen Softwarebibliotheken zu gewährleisten Null-terminierte Saiten[1] in vielen Programmiersprachen wie z. C.[a] Dies gilt sogar für die UTF-16BE-Codes, wobei Code-Wörter mit dem Formular xx00verhexen sind zugeordnet zu Privatnutzungscodes mit der Form F6XXverhexen Während der Codierung, um die Verwendung von NUL -Bytes zu vermeiden,[7] und zu entkommene Kontrollfiguren, wo 20verhexen wird den Steuerzeichen C0 (aber nicht C1) nach dem 0f hinzugefügtverhexen Lead -Byte.[7]
Codepunkte 01verhexen bis 1fverhexen, die als Kontrollcodes in ASCII dienen, werden als Lead -Bytes verwendet, um die Definition von Codepunkten über 7F zu wechselnverhexen zwischen mehreren Codegruppen (ähnlich zu Codeseiten) und bestimmen gleichzeitig entweder eine einzelne oder mehr Byte-Natur für die entsprechende Codegruppe.[1]
Zum Beispiel Code Group 1 (mit Gruppenbyte 01verhexen)[1] ist fast identisch mit dem SBCS Code Seite 850, während Code Group 16 (mit Gruppenbyte 10verhexen)[1] ist ähnlich wie die Japaner MBCs Code Seite 932. Multi-byte-Zeichen können somit zwei oder drei Bytes belegen.[7][6]
Im Kanonische LMBCsJeder Charakter beginnt mit seinem Gruppen -Byte.[1] Die Länge reduzieren, in optimiert oder Komprimierte LMBCs a Standardcodegruppe oder Optimierungsgruppencode kann auf der Basis von Anwendungs- oder Prozessbasis definiert werden (idealerweise nach der höchsten Wahrscheinlichkeit des Auftretens ausgewählt)[1] und muss dem Interpretationscode in irgendeiner Weise mitgeteilt werden (F.E., indem die entsprechenden "LMBCS-n" Name).[8] Dadurch kann das Gruppen -Byte für diese Charaktere weggelassen werden.[1] Lotus 1-2-3 ruft den Optimierungsgruppencode aus dem Datei-Header der entsprechenden Quelldatei ab.[7] Während für Lotus -Notizen der Optimierungsgruppencode so festgelegt ist, dass es immer ist 01verhexen.[2][7]
Standard | Gruppe | Bytes | Beschreibung |
---|---|---|---|
N / A | 00verhexen | 1[7] | Nul |
LMBCS-1 | 01verhexen | 2[7] | Code Seite 850 (Dos latein-1)[2][7] |
LMBCS-2 | 02verhexen | 2[7] | Code Seite 851 (Dos griechisch)[2][7] |
LMBCS-3 | 03verhexen | 2[7] | Code Seite 1255 (Windows Hebräisch)[2][7] |
LMBCS-4 | 04verhexen | 2[7] | Code Seite 1256 (Windows Arabisch)[2][7] |
LMBCS-5 | 05verhexen | 2[7] | Code Seite 1251 (Windows Cyrillic)[2][7] |
LMBCS-6 | 06verhexen | 2[7] | Code Seite 852 (Dos latin-2)[2][7] |
N / A | 07verhexen | 1[7] | Bel[2] |
LMBCS-8 | 08verhexen | 2[7] | Code Seite 1254 (Windows türkisch)[2][9][7] |
N / A | 09verhexen | 1[7] | TAB[2][9][7] |
N / A | 0averhexen | 1[7] | Lf[2][9][7] |
LMBCS-11 | 0bverhexen | 2[7] | Code Seite 874 (Thai)[9][7] |
(LMBCS-12) | 0cverhexen | 2[7] | Reserviert[2] |
N / A | 0dverhexen | 1[7] | Cr[2][9][7] |
(LMBCS-14) | 0everhexen | 2[7] | Reserviert[2] |
(LMBCS-15) | 0fverhexen | 2[7] | REMADED C0/C1 -Steuercodes[7] |
LMBCS-16 | 10verhexen | 3[7] | Code Seite 932/[2]943[7] (Japanisch/ Schicht-Jis)[2][9] |
LMBCS-17 | 11verhexen | 3[7] | Code Seite 949/[2]1261[7] (Koreanisch)[2][9] |
LMBCS-18 | 12verhexen | 3[7] | Code Seite 950[2][7] (Traditioneller Chinesisch/ Taiwan/ Die großen 5)[2][9] |
LMBCS-19 | 13verhexen | 3[7] | Code Seite 936/[2]1386[7] (Vereinfachtes Chinesisch)[2][9] |
(LMBCS-20) | 14verhexen | 3[7] | UTF-16 (Unicode)[2][3][7] |
N / A | 15verhexen | 3 | Reserviert[2] |
N / A | 16verhexen | 3 | Reserviert[2] |
N / A | 17verhexen | 3 | Reserviert[2] |
N / A | 18verhexen | 3 | Reserviert[2] |
N / A | 19verhexen | 1[7] | Lotus 1-2-3 Systembereich[9][7] |
N / A | 1averhexen | 3 | Reserviert[2] |
N / A | 1bverhexen | 3 | Reserviert[2] |
N / A | 1cverhexen | 3 | Reserviert[2] |
N / A | 1dverhexen | 3 | Reserviert[2] |
N / A | 1Everhexen | 3 | Reserviert[2] |
N / A | 1fverhexen | 3 | Reserviert[2] |
Zeichensatz
Ohne Präfix Byte die Codepunkte 32 (20verhexen) bis 127 (7fverhexen) werden wie folgt interpretiert (entsprechend LMBCS -Codes 32 bis 127):
Einzel -Byte -Codes (ASCII/ISO-646-us[10])) | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | EIN | B | C | D | E | F | |
2x | Sp | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | Del/⌂ |
Gruppe 1
LMBCS Group 1 Code Points 128 (80verhexen) bis 255 (ffverhexen) sind identisch mit den entsprechenden Codepunkten in Code Seite 850 (DOS Latin-1), während Codepunkte 1 (01verhexen) bis 127 (7fverhexen) werden gemäß der folgenden Ausnahmeliste definiert (entsprechend LMBCS -Codes 256 bis 383):
LMBCS Group 1, untere Hälfte[11][10] | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | EIN | B | C | D | E | F | |
0x | Nul | ☺ | ☻ | ♥ | ♦ | ♣ | ♠ | • | ◘ | ○ | ◙ | ♂ | ♀ | ♪ | ♫ | ☼ |
1x | ► | ◄ | ↕ | ‼ | ¶ | § | ▬ | ↨ | ↑ | ↓ | → | ← | ∟ | ↔ | ▲ | ▼ |
2x | ¨ | ~ | ˚ | ^ | ` | ´ | “ | ' | … | -[b] | — | ‘[c] | ’[c] | ‹ | › | |
3x | ¨[d] | ~[d] | ˚[d] | ^[d] | `[d] | ´[d] | „ | ‚ | ” | ‗ | NBSP[c] | �[c] | ||||
4x | Œ | œ | Ÿ | ˙[c] | ˚[c][d] | ╞ | ╟ | ▌ | ▐ | ◊[c] | ⌘[c] | [c] | [c] | Ω[c] | ||
5x | ╨ | ╤ | ╥ | ╙ | ╘ | ╒ | ╓ | ╫ | ╪ | ╡ | ╢ | ╖ | ╕ | ╜ | ╛ | ╧ |
6x | ij | IJ | fi | fl | ʼn | ŀ | Ŀ | ¯[c] | ˘[c] | ˝[c] | ˛[c] | ˇ[c] | ~[c][d] | ^[c][d] | ||
7x | † | ‡ | Ħ[c] | ħ[c] | Ŧ[c] | ŧ[c] | ™ | ℓ | Ŋ[c] | ŋ[c] | ĸ[c] | Kr[e] | ⌐ | ₤ | ₧ |
Gruppe 2
LMBCS Group 2 Codepunkte 128 (80verhexen) bis 255 (ffverhexen) sind identisch mit den entsprechenden Codepunkten in Code Seite 851 (Dos griechisch), während Codepunkte 1 (01verhexen) bis 127 (7fverhexen) werden gemäß der folgenden Ausnahmeliste definiert:[f]
LMBCS Group 2, untere Hälfte[11] | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | EIN | B | C | D | E | F | |
0x | Nul | ͺ | ΅ | Ϊ | Ϋ | ― | ΄ | ʼ | ʽ | ‾ | | | ||||
1x | | | ⇕ | ⅞ | ⅝ | ⅜ | ⅛ | | ⇑ | ⇓ | ⇒ | ⇐ | | ⇔ | | |
2x | | | | | | | | | | | | | | | | |
3x | | | | | | | | | | | | | | | | |
4x | ∠ | ∇ | | | | | | | | | | | | | | |
5x | ∂ | ℵ | ℑ | ℜ | | | | | | | | ∋ | ∈ | ∉ | ⊆ | ⊇ |
6x | ⊗ | ⊕ | ✓ | ⋀ | ∁ | ∫ | ∀ | ∃ | | ′ | ″ | ∞ | ∝ | φ | ∪ | ∩ |
7x | ≡ | ≅ | ≥ | ≤ | ⌠ | ⌡ | ≠ | ≈ | ⁄ | ∙ | ‰ | √ | ⁿ | ∅ | ⊂ | ⊃ |
Gruppe 6
LMBCS Group 6 Codepunkte 128 (80verhexen) bis 255 (ffverhexen) sind identisch mit den entsprechenden Codepunkten in Code Seite 852 (DOS Latin-2), während Codepunkte 1 (01verhexen) bis 127 (7fverhexen) werden gemäß der folgenden Ausnahmeliste definiert:[f]
LMBCS Group 6, untere Hälfte[11] | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | EIN | B | C | D | E | F | |
0x | Nul | ā | Ĉ | ĉ | Ċ | ċ | Ē | ē | Ė | ė | Ĝ | ĝ | Ġ | ġ | Ģ | ģ |
1x | Ĥ | ĥ | Ĩ | ĩ | Ī | ī | Į | į | Ĵ | ĵ | Ķ | ķ | Ļ | ļ | Ņ | ņ |
2x | Ō | ō | Ŗ | ŗ | Ŝ | ŝ | Ũ | ũ | Ū | ū | Ŭ | ŭ | Ų | ų | Ā | |
3x | ||||||||||||||||
4x | ||||||||||||||||
5x | ||||||||||||||||
6x | ||||||||||||||||
7x |
Siehe auch
- Schlüsselsequenz komponieren
- GB 18030
- Standardkomprimierungsschema für Unicode (SCSU)
- Symbol (Schrift)
- Xerox Character Code Standard (Xccs)
Anmerkungen
- ^ Lotus 1-2-3 Release 3.0 zum DOS und neuere Versionen sind in geschrieben C.
- ^ ‐ (U+2010), ‑ (U+2011), ‒ (U+2012), – (U+2013)
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y Nach der Dokumentation wird dieser Codepunkt nicht unterstützt von Lotus 1-2-3 Release 3.1+ Für DOS und OS/2 und früher.
- ^ a b c d e f g h i Für Kompatibilität mit Lotus 1-2-3 Release 5.0.
- ^ Unicode definiert keine Glyphe für die Kronenwährung Symbol (Krone alias "KR"), deshalb zeigt dies auf F8FBverhexen im Unicode Privatnutzungsbereich (PUA).
- ^ a b Gemäß den Dokumentationscodepunkten 1 bis 127 in dieser Gruppe werden nicht unterstützt von Lotus 1-2-3 Release 3.1+ Für DOS und OS/2 und früher. Diese Versionen unterstützten nur LMBCS -Codepunkte 0 bis 511 und deckten nur die Gruppe 0 und 1 ab.
Verweise
- ^ a b c d e f g h i j k l m Balaban, Bob (2001). "Multisprachige Zeichensets-was sie sind, wie man sie benutzt" (PDF). Looseleaf Software, Inc. Archiviert (PDF) vom Original am 2016-11-25. Abgerufen 2016-11-25.
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab AC Anzeige ae af Ag Ah "Anhang A. Codierungsschemata". IBM Architektur der Charakterdatenrepräsentation. IBM (CDRA). Lotus Multi-Byte-Charakter-Set (LMBCS). Archiviert vom Original am 2016-11-26. Abgerufen 2016-11-26.
Für Optimierungszwecke wird das Gruppen -Byte weggelassen Anmerkungen Für Single-Byte-Werte zwischen x'20 'und x'ff'. Zum Beispiel ist LMBCS immer auf Gruppe 0x01 optimiert, was bedeutet, dass jedes Zeichen, bei dem das erste Byte größer als 0x1F ist, ein implizites Gruppen -Byte von 0x01 hat.
- ^ a b Scherer, Markus; Murray, Brendan (2000-06-02). "Re: MS Excel, Lotus 123 & Unicode". Archiviert vom Original am 2016-12-06. Abgerufen 2016-12-06.
- ^ "Kapitel 4. Kompatibilität mit Anderen 1-2-3 Versionen-Zeichenensätze" [Kapitel 4. Kompatibilität mit anderen 1-2-3-Versionen-Zeichensätze]. Lotus 1-2-3 Version 3.1 Upgrader-Handbuch [Upgraderhandbuch] (auf Deutsch) (1 Ed.). Cambridge, MA, USA: Lotus Development Corporation. 1989. S. 4-10–4-11. 302173.
- ^ a b Kamenz, Alfred; Vonhoegen, Helmut (1992). Das Große Buch Zu Lotus 1-2-3 für dos (auf Deutsch) (1 Ed.). Daten Becker. S. 131–132, 357–358. ISBN 3-89011-375-3.
- ^ a b c d Lotus - Inside Notes - Die Architektur der Notizen und der Domino -Server (PDF). Lotus Development Corporation. 2000. Archiviert (PDF) vom Original am 2016-12-12. Abgerufen 2016-12-12.
[…] Notizen verwenden einen einzelnen Zeichensatz, den Lotus Multibyte -Zeichensatz (LMBCS), um alle internen Textdaten zu codieren, die von seinen Programmen intern verwendet werden. Wenn Notizen zum ersten Mal Text eingibt, das in einem anderen Zeichen als LMBCs codiert ist, übersetzt er den Text in eine LMBCS -Zeichenfolge. Wenn er Text in einem anderen Zeichen als LMBCs ausgeben muss, übersetzt er die interne LMBCS -Zeichenfolge in den entsprechenden Zeichensatz. Da der gesamte Text intern von LMBCs formatiert ist, werden alle Textverarbeitungsvorgänge […] nur auf eine Weise durchgeführt. LMBCS verwendet bis zu drei Bytes im Speicher, um einen einzelnen Textcharakter darzustellen […]
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab AC Anzeige ae af Ag Ah ai AJ AK al bin ein ao AP aq ar wie Murray, Brendan; Snyder-Grant, Jim, Hrsg. (2016) [2000-02-09]. "ucnv_lmb.c". Internationale Komponenten für Unicode. Internationale Geschäftsmaschinen (IBM).
- ^ Batutis, Edward J. (2001-11-03). "Re: Konvertertypen". Internationale Komponenten für Unicode (Intensivstation). Archiviert vom Original am 2016-12-06. Abgerufen 2016-12-06.
- ^ a b c d e f g h i j "LMBCS" (auf Japanisch). 2009-02-03. Archiviert vom Original am 2016-11-26. Abgerufen 2016-11-26.[1]
- ^ a b "Anhang 2. Der Lotus Multibyte Zeichenensatz (LMBCS)" [Anhang 2. Der Lotus Multibyte Character Set (LMBCS)]. Lotus 1-2-3 Version 3.1 Referenzhandbuch [Lotus 1-2-3 Version 3.1 Referenzhandbuch] (auf Deutsch) (1 Ed.). Cambridge, MA, USA: Lotus Development Corporation. 1989. S. A2-1-A2-13. 302168.
- ^ a b c "lmb-excp.ucm". GitHub. 2000-02-10.
Weitere Lektüre
- Geboren, Günter (Dezember 2000) [1990]. "Kapitel 2. Lotus 1-2-3-Format (WK3)" [Kapitel 2. Lotus 1-2-3 WK3-Format]. Dateiformat - Ein Referenz - Tabellenkalkulation, Text, Grafik, Multimedia, Sound und Internet [Dateiformate - eine Referenz - Tabellenkalkulationen, Text, Grafik, Multimedia, Ton und Internet] (PDF) (auf Deutsch). Bonn, Deutschland: Galileo Computing. ISBN 3-934358-83-7. Archiviert (PDF) vom Original am 2016-11-29. Abgerufen 2016-11-28. (Enthält einige Informationen zu LMBCs und Lotus -Systembereichen.)
- "LMBCS -Tabellen". Benutzerhandbuch - 123 Release 4 für Windows (Fax). Lotusentwicklung. 1995 [1994-01-01]. Kapitel: Anhang A Verwenden Sie den Lotus Multibyte -Charakter -Set. Fax 10955. Abgerufen 2016-12-06.
- "LMBCS -Charaktere eingeben". Benutzerhandbuch - 123 Release 4 für Windows (Fax). Lotusentwicklung. 1995 [1994-01-01]. Kapitel: Anhang A Verwenden Sie den Lotus Multibyte -Charakter -Set. Fax 10954. Abgerufen 2016-12-06.
- Lotus -Unterstützung. "Anmerkungen aus Unterstützung: SMTP MTA International Character Sets". IBM Developerworks. IBM. Archiviert vom Original am 2016-12-08. Abgerufen 2016-12-08.
- Zeichenübersetzungsdateien (.CTF) nach Notizen 2.x und Country Language Service (.CLS) nach Notizen 3.0 und höher enthalten Informationen zur Übersetzung von LMBCs in andere Codepages [2] [3]
Externe Links
- Berntrop-Bos, Lars (2014-07-10). "Explosion aus der Vergangenheit: LMBCS -Tabellen für Windows, OS/2, Unix und Macintosh". Archiviert vom Original am 2016-11-26. Abgerufen 2016-11-26.