MIK (МИК) is an 8-bitCyrilliccode page used withDOS. It is based on the character set used in the BulgarianPravetz 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 Star printers andFreeDOS asCode page 3021 (Earlier it was known by FreeDOS ascode page 30033 (now used for acode page 857 variant which contains the Crimean Tatar hryvnia sign), but it was renumbered to match the Star Printer code page).
This is the most widespreadDOS/OEM code page used inBulgaria, rather thanCP 808, CP 855,CP 866 orCP 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.
Each character is shown with its equivalentUnicode 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 asASCII.
Implementors of mapping tables to Unicode should note that the MIK Code pageunifies some characters:
TheMIK 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.