DKOI (Russian: ДКОИ, Двоичный Код Обработки Информации, "Binary Code for Information Processing") is an EBCDIC encoding for Russian Cyrillic. It is a Telegraphy-based encoding used in ES EVM mainframes.[1][2] It has been defined by several standards: GOST 19768-74 / ST SEV 358-76, ST SEV 358-88 / GOST 19768-93,[3] CSN 36 9103.

DKOI
Language(s)Russian, Bulgarian
Standard
ClassificationEBCDIC
Other related encoding(s)Code page 880

DKOI K1

edit

In DKOI K1 (ДКОИ К1), each Cyrillic letter is given its own code point. Characters are shown with their equivalent Unicode codes. The dollar sign $ may be placed in code point 0x5B; in that case the currency sign ¤ is in code point 0xE1.[3]

DKOI K1[3]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX PF  HT  LC DEL SMM  VT   FF   CR   SO   SI  
1x DLE DC1 DC2 DC3 RES/
ENP
 NL    BS  IL CAN  EM  CC CU1  IFS  IGS  IRS IUS/
ITB
2x  DS  SOS  FS  BYP/
INP
 LF  ETB ESC  SM/
SW
CU2 ENQ ACK BEL
3x SYN PN RST UC EOT CU3 DC4 NAK SUB
4x  SP  NBSP ё [ . < ( + !
5x & Ъ ] ¤/$ * ) ; ^
6x - / Ё ¦ , % _ > ?
7x SHY ю а б ` : # @ ' = "
8x ц a b c d e f g h i д е ф г х и
9x й j k l m n o p q r к л м н о п
Ax я ~ s t u v w x y z р с т у ж в
Bx ь ы з ш э щ ч ъ Ю А Б Ц Д Е Ф Г
Cx { A B C D E F G H I Х И Й К Л М
Dx } J K L M N O P Q R Н О П Я Р С
Ex \ ¤ S T U V W X Y Z Т У Ж В Ь Ы
Fx 0 1 2 3 4 5 6 7 8 9 З Ш Э Щ Ч EO
  Differences from Code page 500

DKOI K2

edit

In DKOI K2 (ДКОИ К2), some Cyrillic letters (А, В, Е, К, М, Н, О, Р, С, Т, Х, а, е, о, р, с, у, х) are merged with visually identical Latin letters (A, B, E, K, M, H, O, P, C, T, X, a, e, o, p, c, y, x). Code points 0x5F and 0xA1 are negation ¬ and overline instead of ^ and ~. The dollar sign $ may be placed in code point 0x5B; in that case the currency sign ¤ is in code point 0xE1.[3]

DKOI K2[3]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX PF  HT  LC DEL SMM  VT   FF   CR   SO   SI  
1x DLE DC1 DC2 DC3 RES/
ENP
 NL    BS  IL CAN  EM  CC CU1  IFS  IGS  IRS IUS/
ITB
2x  DS  SOS  FS  BYP/
INP
 LF  ETB ESC  SM/
SW
CU2 ENQ ACK BEL
3x SYN PN RST UC EOT CU3 DC4 NAK SUB
4x  SP  [ . < ( + !
5x & Ъ ] ¤/$ * ) ; ¬
6x - / ¦ , % _ > ?
7x ю б ` : # @ ' = "
8x ц a b c d e f g h i д ф г и
9x й j k l m n o p q r к л м н п
Ax я s t u v w x y z т ж в
Bx ь ы з ш э щ ч ъ Ю Б Ц Д Ф Г
Cx { A B C D E F G H I И Й Л
Dx } J K L M N O P Q R П Я
Ex \ ¤ S T U V W X Y Z У Ж Ь Ы
Fx 0 1 2 3 4 5 6 7 8 9 З Ш Э Щ Ч EO
  Differences from DKOI K1

Code page 880

edit

IBM code page 880 is mostly a superset of DKOI K1, adding support for Cyrillic letters not used in Russian but used in Serbian Cyrillic, Macedonian Cyrillic, Belarusian Cyrillic or Soviet-era Ukrainian Cyrillic (i.e. including the Ukrainian Ye but not the Ukrainian Ge). 0x6A is a continuous vertical bar (like in code page 38), rather than a broken vertical bar (like in code pages 37 and 500), and 0x5B is always a dollar sign rather than a universal currency sign. This matches the character repertoire of KOI8-E.

IBM code page 880[4][5]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL SOH STX ETX SEL  HT  RNL DEL  GE  SPS RPT  VT   FF   CR   SO   SI  
1x DLE DC1 DC2 DC3 RES/
ENP
 NL    BS  POC CAN  EM  UBS CU1  IFS  IGS  IRS IUS/
ITB
2x  DS  SOS  FS  WUS BYP/
INP
 LF  ETB ESC  SA  SFE  SM/
SW
CSP MFA ENQ ACK BEL
3x SYN   IR   PP  TRN NBS EOT SBS   IT  RFF CU3 DC4 NAK SUB
4x  SP  NBSP ђ ѓ ё є ѕ і ї ј [ . < ( + !
5x & љ њ ћ ќ ў џ Ъ Ђ ] $ * ) ; ^
6x - / Ѓ Ё Є Ѕ І Ї Ј Љ | , % _ > ?
7x Њ Ћ Ќ SHY Ў Џ ю а б ` : # @ ' = "
8x ц a b c d e f g h i д е ф г х и
9x й j k l m n o p q r к л м н о п
Ax я ~ s t u v w x y z р с т у ж в
Bx ь ы з ш э щ ч ъ Ю А Б Ц Д Е Ф Г
Cx { A B C D E F G H I Х И Й К Л М
Dx } J K L M N O P Q R Н О П Я Р С
Ex \ ¤ S T U V W X Y Z Т У Ж В Ь Ы
Fx 0 1 2 3 4 5 6 7 8 9 З Ш Э Щ Ч EO
  Differences from DKOI K1

Code page 1025

edit

Code page 1025 is almost identical to code page 880, but the universal currency sign (¤) is replaced with a section sign (§),[6] thus matching the character repertoire of ISO 8859-5.

Code page 410

edit

Code page 410 differs from code pages 880 and 1025 by lacking braces, backtick and tilde, including exponents of 2 and 3 and the numeric space, and including both the section sign and the universal currency sign in different locations to code pages 880 and 1025.

IBM code page 410 (differences from code pages 880 and 1025)[7]
0 1 2 3 4 5 6 7 8 9 A B C D E F
7x Њ Ћ Ќ SHY Ў Џ ю а б § : # @ ' = "
Ax я ³ s t u v w x y z р с т у ж в
Bx ь ы з ш э щ ч ъ Ю А Б Ц Д Е Ф Г
Cx ¤ A B C D E F G H I Х И Й К Л М
Dx ² J K L M N O P Q R Н О П Я Р С
Ex \ FSP S T U V W X Y Z Т У Ж В Ь Ы
  Differences from code pages 880 and 1025

Footnotes

edit

References

edit
  1. ^ Higgs, Edward (1998). History and Electronic Artefacts. Clarendon Press. pp. 269–270. ISBN 978-0-19-823633-7.
  2. ^ (in Russian) Вострикова З. П. Программирование на языке ассемблера ЕС ЭВМ. — М.: Наука, 1981. — С. 291.
  3. ^ a b c d e GOST (1993). "Информационная технология. Наборы 8-битных кодированных символов. Двоичный код обработки информации" (in Russian). GOST 19768-93.
  4. ^ "Code Page 880 (chart)" (PDF). Registry: Graphic Character Sets and Code Pages. IBM. 1986.
  5. ^ "Code Page 880". Registry: Graphic Character Sets and Code Pages. IBM. 1986.
  6. ^ "ibm-1025_P100-1995". ICU Demonstration - Converter Explorer. IBM/Unicode Consortium.
  7. ^ "Code Page 00410" (PDF). IBM. Archived from the original (PDF) on 2013-01-21.