KOI8-R (RFC 1489) est un codage de caractères 8 bits , dérivé du codage KOI-8 du programmeur Andrei Chernov en 1993 et conçu pour couvrir le russe , qui utilise un alphabet cyrillique . KOI8-R est basé sur le code Morse russe , qui a été créé à partir d'une version phonétique du code Morse latin . En conséquence, les lettres cyrilliques russes sont dans l'ordre pseudo-romain plutôt que dans l'ordre alphabétique cyrillique normal. Bien que cela puisse sembler anormal, si le 8e bit est supprimé, le texte est partiellement lisible en ASCII et peut être converti en KOI-7 syntaxiquement correct . Par exemple, "Код Обмена Информацией" dans KOI8-R devient kOD oBMENA iNFORMACIEJ (la signification russe de l'acronyme "KOI").
KOI8 signifie Kod Obmena Informatsiey, 8 bits ( en russe : Код Обмена Информацией, 8 бит ), ce qui signifie « Code pour l'échange d'informations, 8 bits ». Dans Microsoft Windows , KOI8-R est affecté au numéro de page de codes 20866. Dans IBM , KOI8-R est affecté à la page de codes 878. KOI8-R couvre également le bulgare , mais n'est plus utilisé à cette fin depuis l'acceptation de CP1251 . L'utilisation de ces anciennes pages de codes est remplacée par Unicode comme moyen plus courant de représenter le cyrillique avec d'autres langues.
Unicode est préféré à KOI-8 et à ses variantes ou à d'autres codages cyrilliques dans les applications modernes, en particulier sur Internet, ce qui fait de l'UTF-8 le codage dominant pour les pages Web. KOI8-R, la variante la plus populaire, est utilisée par moins de 0,004 % des sites Web, qui sont principalement russes et bulgares. Cependant, les deux groupes préfèrent d'autres codages. Pour une discussion plus approfondie sur la couverture complète d'Unicode de 436 lettres/points de code cyrilliques, y compris pour l'ancien cyrillique , et sur la façon dont les codages de caractères à un octet, tels que les variantes Windows-1251 et KOI8, ne peuvent pas fournir cela, voir Écriture cyrillique dans Unicode .
Jeu de caractères
Le tableau suivant présente le codage KOI8-R. Chaque caractère est affiché avec son point de code Unicode équivalent .