MIK (character set)

Source: Wikipedia, the free encyclopedia.

MIK (МИК) is an 8-bit

Pravetz 16[1] IBM PC compatible system. Kermit calls this character set "BULGARIA-PC" / "bulgaria-pc".[2][3][4] In Bulgaria, it was sometimes incorrectly referred to as code page 856 (which clashes with IBM's definition for a Hebrew code page). This code page is known by FreeDOS
as Code page 3021.

This is the most widespread

CP 872
.

Almost every DOS program created in Bulgaria, which has Bulgarian strings in it, was using MIK as encoding, and many such programs are still in use.

Character set

Each character is shown with its equivalent Unicode code point and its decimal code point. Only the second half of the table (code points 128–255) is shown, the first half (code points 0–127) being the same as ASCII.

MIK[5][6][4]
0 1 2 3 4 5 6 7 8 9 A B C D E F
8x А Б В Г Д Е Ж З И
Й
К Л М Н О П
9x Р С Т У Ф
Х
Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
Ax
а
б
в
г
д
е
ж
з
и
й
к
л
м
н
о
п
Bx
р
с
т
у
ф
х
ц
ч
ш
щ
ъ
ы
ь
э
ю
я
Cx
Dx
§
Ex
α
ß[nb 1] Γ π Σ[nb 2]
σ
µ[nb 3]
τ
Φ
Θ Ω[nb 4] δ
φ
ε[nb 5]
Fx ±
÷ ° ·
²
NBSP

Notes for implementors of mapping tables to Unicode

Implementors of mapping tables to Unicode should note that the MIK Code page unifies some characters:

  1. beta
    (U+03B2, β);
  2. sigma
    (U+03A3, Σ);
  3. micro sign (U+00B5, µ) and the Greek lowercase mu
    (U+03BC, μ);
  4. Ohm sign (U+2126, Ω) and the Greek uppercase omega
    (U+03A9, Ω);
  5. ^ 0xEE is both the element-of sign (U+2208, ∈) and the Greek lowercase epsilon (U+03B5, ε)!

Binary character manipulations

The MIK code page maintains in alphabetical order all Cyrillic letters which enables very easy character manipulation in binary form:

10xx xxxx - is a Cyrillic Letter

100x xxxx - is an Upper-case Cyrillic Letter

101x xxxx - is a Lower-case Cyrillic Letter

In such case testing and character manipulating functions as:

IsAlpha(), IsUpper(), IsLower(), ToUpper() and ToLower(),

are bit operations and sorting is by simple comparison of character values.

See also

References

  1. ^ "Pravetz 16". Archived from the original on 2016-12-06. Retrieved 2016-12-06.
  2. ^ da Cruz, Frank (2010-04-02). "Kermit and MIME Character-Set Names". The Kermit Project. Columbia University, New York, USA. Archived from the original on 2016-12-03. Retrieved 2016-12-02.
  3. ^ "Kermit 95 - Cyrillic Character Sets".
  4. ^ a b http://www.columbia.edu/kermit/ftp/charsets/cp856.txt [bare URL plain text file]
  5. ^ Czyborra, Roman (1998-11-30) [1998-05-25]. "The Cyrillic Charset Soup". Archived from the original on 2016-12-03. Retrieved 2016-12-03. [1] [2]
  6. ^ Hohlov, Yu. E. "Cyrillic Information Representation in Electronic Form - Character Set (Code Page) Tables". Archived from the original on 2016-12-05. Retrieved 2016-12-05.

External links