Lotus Multi-Byte Character Set
The Lotus Multi-Byte Character Set (LMBCS) is a proprietary
Commercially, LMBCS was first introduced as the default character set of
LMBCS encodes the characters required for languages using the
Encodings
Technically, LMBCS is a lead-byte encoding where code point 00hex as well as code points 20hex (32) to 7Fhex (127) are identical to ASCII[1] (as well as to LICS).[5]
Code point 00hex is always treated as
Code points 01hex to 1Fhex, which serve as control codes in ASCII, are used as lead bytes to switch the definition of code points above 7Fhex between several code groups (similar to code pages) and at the same time determine either a single- or multi-byte nature for the corresponding code group.[1]
For example, code group 1 (with group byte 01hex)
In canonical LMBCS, each character starts with its group byte.[1] To reduce the length, in optimized or compressed LMBCS a default code group or optimization group code can be defined on a per application or process basis (ideally chosen according to the highest likelihood of occurrence)[1] and must be communicated to the interpreting code in some way (f.e. by specifying the corresponding "LMBCS-n" name).[8] Thereby, the group byte can be omitted for these characters.[1] Lotus 1-2-3 retrieves the optimization group code from the file header of the corresponding source file,[7] whereas for Lotus Notes the optimization group code is fixed to be always 01hex.[2][7]
Default | Group | Bytes | Description |
---|---|---|---|
N/A | 00hex | 1[7] | NUL
|
LMBCS-1 | 01hex | 2[7] | Code page 850 (DOS Latin-1)[2][7] |
LMBCS-2 | 02hex | 2[7] | Code page 851 (DOS Greek)[2][7] |
LMBCS-3 | 03hex | 2[7] | |
LMBCS-4 | 04hex | 2[7] | |
LMBCS-5 | 05hex | 2[7] | |
LMBCS-6 | 06hex | 2[7] | Code page 852 (DOS Latin-2)[2][7] |
N/A | 07hex | 1[7] | BEL[2]
|
LMBCS-8 | 08hex | 2[7] | |
N/A | 09hex | 1[7] | |
N/A | 0Ahex | 1[7] | |
LMBCS-11 | 0Bhex | 2[7] | |
(LMBCS-12) | 0Chex | 2[7] | Reserved[2] |
N/A | 0Dhex | 1[7] | |
(LMBCS-14) | 0Ehex | 2[7] | Reserved[2] |
(LMBCS-15) | 0Fhex | 2[7] | Remapped C0/C1 control codes[7] |
LMBCS-16 | 10hex | 3[7] | |
LMBCS-17 | 11hex | 3[7] | Code page 949/[2]1261[7] (Korean)[2][9] |
LMBCS-18 | 12hex | 3[7] | Code page 950[2][7] (Traditional Chinese / Taiwan / Big5)[2][9] |
LMBCS-19 | 13hex | 3[7] | |
(LMBCS-20) | 14hex | 3[7] | UTF-16 (Unicode)[2][3][7] |
N/A | 15hex | 3 | Reserved[2] |
N/A | 16hex | 3 | Reserved[2] |
N/A | 17hex | 3 | Reserved[2] |
N/A | 18hex | 3 | Reserved[2] |
N/A | 19hex | 1[7] | Lotus 1-2-3 system range[9][7] |
N/A | 1Ahex | 3 | Reserved[2] |
N/A | 1Bhex | 3 | Reserved[2] |
N/A | 1Chex | 3 | Reserved[2] |
N/A | 1Dhex | 3 | Reserved[2] |
N/A | 1Ehex | 3 | Reserved[2] |
N/A | 1Fhex | 3 | Reserved[2] |
Character set
Without prefix byte the code points 32 (20hex) to 127 (7Fhex) are interpreted as follows (corresponding to LMBCS codes 32 to 127):
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | 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 | {
|
| | }
|
~
|
⌂
|
Group 1
LMBCS group 1 code points 128 (80hex) to 255 (FFhex) are identical to the corresponding code points in code page 850 (DOS Latin-1), whereas code points 1 (01hex) to 127 (7Fhex) are defined according to the following exception list (corresponding to LMBCS codes 256 to 383):
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | 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]
|
⌘[c]
|
[c]
|
[c]
|
Ω[c]
|
|||
5x | ╨ | ╤ | ╥ | ╙ | ╘ | ╒ | ╓ | ╫ | ╪ | ╡ | ╢ | ╖ | ╕ | ╜ | ╛ | ╧ |
6x | ij
|
IJ
|
fi
|
fl
|
ʼn
|
ŀ
|
Ŀ
|
¯[c]
|
˘[c]
|
˝[c]
|
˛[c]
|
ˇ[c]
|
||||
7x | †
|
‡
|
Ħ[c]
|
ħ[c]
|
Ŧ[c]
|
ŧ[c]
|
™
|
ℓ
|
Ŋ[c]
|
ŋ[c]
|
ĸ[c]
|
Kr[e] | ⌐
|
₤
|
₧ |
Group 2
LMBCS group 2 code points 128 (80hex) to 255 (FFhex) are identical to the corresponding code points in code page 851 (DOS Greek), whereas code points 1 (01hex) to 127 (7Fhex) are defined according to the following exception list:[f]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0x | NUL
|
ͺ
|
΅
|
Ϊ
|
Ϋ
|
―
|
΄
|
ʼ
|
ʽ
|
‾
|
|
| ||||
1x |
|
|
⇕
|
⅞ | ⅝ | ⅜ | ⅛ |
|
⇑
|
⇓
|
⇒
|
⇐
|
|
⇔
|
|
|
2x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4x | ∠
|
∇
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5x | ∂ | ℵ
|
ℑ
|
ℜ
|
|
|
|
|
|
|
|
∋
|
∈
|
∉
|
⊆
|
⊇
|
6x | ⊗
|
⊕ | ✓
|
⋀
|
∁
|
∫
|
∀
|
∃
|
|
′
|
″
|
∞
|
∝
|
φ
|
∪
|
∩
|
7x | ≡ | ≅ | ≥
|
≤ | ⌠
|
⌡
|
≠
|
≈
|
⁄
|
∙
|
‰
|
√
|
ⁿ
|
∅
|
⊂
|
⊃
|
Group 6
LMBCS group 6 code points 128 (80hex) to 255 (FFhex) are identical to the corresponding code points in code page 852 (DOS Latin-2), whereas code points 1 (01hex) to 127 (7Fhex) are defined according to the following exception list:[f]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0x | NUL
|
ā | Ĉ | ĉ | Ċ | ċ | Ē
|
ē
|
Ė | ė | Ĝ | ĝ | Ġ | ġ | Ģ | ģ |
1x | Ĥ | ĥ | Ĩ
|
ĩ
|
Ī
|
ī
|
Į | į | Ĵ | ĵ | Ķ | ķ | Ļ
|
ļ
|
Ņ
|
ņ
|
2x | Ō
|
ō
|
Ŗ
|
ŗ
|
Ŝ | ŝ | Ũ
|
ũ
|
Ū
|
ū
|
Ŭ | ŭ | Ų | ų | Ā | |
3x | ||||||||||||||||
4x | ||||||||||||||||
5x | ||||||||||||||||
6x | ||||||||||||||||
7x |
See also
- Compose key
- GB 18030
- Standard Compression Scheme for Unicode (SCSU)
- Symbol (typeface)
- Xerox Character Code Standard (XCCS)
Notes
- C.
- –(U+2013)
- ^ Lotus 1-2-3 Release 3.1+for DOS and OS/2 and earlier.
- ^ Lotus 1-2-3 Release 5.0.
- Private Use Area(PUA).
- ^ Lotus 1-2-3 Release 3.1+for DOS and OS/2 and earlier. These versions only supported LMBCS code points 0 to 511, covering group 0 and 1 only.
References
- ^ a b c d e f g h i j k l m Balaban, Bob (2001). "Multi-Language Character Sets – What They Are, How To Use Them" (PDF). Looseleaf Software, Inc. Archived (PDF) from the original on 2016-11-25. Retrieved 2016-11-25.
- ^ Notesfor single-byte values between X'20' and X'FF'. For example, LMBCS is always optimized to group 0x01, which means that any character where the first byte is greater than 0x1F, has an implicit group byte of 0x01.
- ^ a b Scherer, Markus; Murray, Brendan (2000-06-02). "Re: MS Excel, Lotus 123 & Unicode". Archived from the original on 2016-12-06. Retrieved 2016-12-06.
- Lotus Development Corporation. 1989. pp. 4-10–4-11. 302173.
- ^ ISBN 3-89011-375-3.
- ^ Lotus Development Corporation. 2000. Archived(PDF) from the original on 2016-12-12. Retrieved 2016-12-12.
[…] Notes uses a single character set, the Lotus Multibyte Character Set (LMBCS), to encode all text data used internally by its programs. Whenever Notes first inputs text encoded in a character set other than LMBCS, it translates the text into a LMBCS string, and whenever it must output text in a character set other than LMBCS, it translates the internal LMBCS string into the appropriate character set. Because all text is internally formatted by LMBCS, all text-processing operations […] are done in only one way. LMBCS uses up to three bytes in memory to represent a single text character […]
- ^ International Business Machines(IBM).
- ^ Batutis, Edward J. (2001-11-03). "Re: converter types". International Components for Unicode (ICU). Archived from the original on 2016-12-06. Retrieved 2016-12-06.
- ^ a b c d e f g h i j "LMBCS" (in Japanese). 2009-02-03. Archived from the original on 2016-11-26. Retrieved 2016-11-26.[1]
- ^ Lotus Development Corporation. 1989. pp. A2-1–A2-13. 302168.
- ^ a b c "lmb-excp.ucm". GitHub. 2000-02-10.
Further reading
- ISBN 3-934358-83-7. Archived(PDF) from the original on 2016-11-29. Retrieved 2016-11-28. (Includes some information about LMBCS and Lotus system ranges.)
- "LMBCS tables". User's Guide – 123 Release 4 for Windows (Fax). Lotus Development. 1995 [1994-01-01]. CHAPTER: Appendix A Using the Lotus Multibyte Character Set. Fax 10955. Retrieved 2016-12-06.
- "Entering LMBCS characters". User's Guide – 123 Release 4 for Windows (Fax). Lotus Development. 1995 [1994-01-01]. CHAPTER: Appendix A Using the Lotus Multibyte Character Set. Fax 10954. Retrieved 2016-12-06.
- Lotus Support. "Notes from Support: SMTP MTA International Character Sets". IBM developerWorks. IBM. Archived from the original on 2016-12-08. Retrieved 2016-12-08.
- Character Translation Files (.CTF) by Notes 2.x and Country Language Service (.CLS) files by Notes 3.0 and higher contain information about LMBCS translation into other codepages [2] [3]
External links
- Berntrop-Bos, Lars (2014-07-10). "Blast from the past: LMBCS tables for Windows, OS/2, Unix and Macintosh". Archived from the original on 2016-11-26. Retrieved 2016-11-26.