Locale:...:KOI8_R(3)
π Locale:...:KOI8_R(3) π
okay so real talk, bestie β this is a page from the User Contributed Perl Documentation, and the whole vibe is Locale:...:KOI8_R(3). Yes the name is a lil cursed with those dots, no we're not fixing it, it's iconic. π
β¨ NAME β¨
Locale::RecodeData::KOI8_R β literally the conversion routines for KOI8-R. that's it, that's the whole job. π
π¦ SYNOPSIS π¦
this module is internal to libintl. Do not use directly!
not me telling you this in bold with a warning tag because I mean it β it's for libintl's eyes only, bestie, hands off. π
πΈ DESCRIPTION πΈ
so this module is generated (as in, nobody hand-wrote it, it just exists, main character energy honestly β¨) and it contains the conversion tables and routines for KOI8-R. that's the tea. π
π COMMENTS π
the following comments have been extracted from the original charmap, iykyk:
version: 1.0
source: RFC1489 via Gabor Kiss E<lt>kissg@sztaki.huE<gt>
and Andrey A. Chernov E<lt>ache@astral.msk.suE<gt>
and a little heads-up, because I care about you: please note that aliases listed above are not necessarily valid! π like, don't come for me if an alias doesn't work, it said so right there. π
π CHARACTER TABLE π
the following table is sorted in the same order as the original charmap β no re-sorting, no funny business, we respect the source. π«Ά
all character codes are in hexadecimal, periodt. π₯
and when you see 'ISO-10646' in here, please read it as 'ISO-10646-UCS4'. that's the translation, bestie, write it down. β
more parts coming, don't go anywhere π
okay so before we go row by row, here's how to actually read this thing π three columns, three vibes:
- Local β the byte as KOI8-R stores it, two hex digits, the address where the glyph lives
- ISO-10646 β the Unicode code point it maps to, eight hex digits
- Description β what the character actually is, in all caps, no cap
π 00β1F β the control-character posse
These bad boys don't draw anything, they do things. They're the backstage crew, the stage managers, the ones moving furniture while everyone else is onstage πΈ
00β00000000β NULL (NUL): the literal void, the "no thoughts head empty" byte01β00000001β START OF HEADING (SOH)02β00000002β START OF TEXT (STX)03β00000003β END OF TEXT (ETX)04β00000004β END OF TRANSMISSION (EOT)05β00000005β ENQUIRY (ENQ)06β00000006β ACKNOWLEDGE (ACK)07β00000007β BELL (BEL): yes it actually used to ring a bell, iconic behavior π08β00000008β BACKSPACE (BS)09β00000009β CHARACTER TABULATION (HT): the tab, the goat0Aβ0000000Aβ LINE FEED (LF)0Bβ0000000Bβ LINE TABULATION (VT)0Cβ0000000Cβ FORM FEED (FF)0Dβ0000000Dβ CARRIAGE RETURN (CR)0Eβ0000000Eβ SHIFT OUT (SO)0Fβ0000000Fβ SHIFT IN (SI)10β00000010β DATALINK ESCAPE (DLE)11β00000011β DEVICE CONTROL ONE (DC1)12β00000012β DEVICE CONTROL TWO (DC2)13β00000013β DEVICE CONTROL THREE (DC3)14β00000014β DEVICE CONTROL FOUR (DC4)15β00000015β NEGATIVE ACKNOWLEDGE (NAK)16β00000016β SYNCHRONOUS IDLE (SYN)17β00000017β END OF TRANSMISSION BLOCK (ETB)18β00000018β CANCEL (CAN)19β00000019β END OF MEDIUM (EM)1Aβ0000001Aβ SUBSTITUTE (SUB)1Bβ0000001Bβ ESCAPE (ESC): the one that starts all the drama π1Cβ0000001Cβ FILE SEPARATOR (IS4)1Dβ0000001Dβ GROUP SEPARATOR (IS3)1Eβ0000001Eβ RECORD SEPARATOR (IS2)1Fβ0000001Fβ UNIT SEPARATOR (IS1)
π¦ 20β7E β the ASCII besties
This whole stretch is just plain ASCII, undisturbed, living its best life. Nothing exotic, everything readable β¨
20β00000020β SPACE: the most used character in this entire document, probably21β00000021β EXCLAMATION MARK22β00000022β QUOTATION MARK23β00000023β NUMBER SIGN24β00000024β DOLLAR SIGN25β00000025β PERCENT SIGN26β00000026β AMPERSAND27β00000027β APOSTROPHE28β00000028β LEFT PARENTHESIS29β00000029β RIGHT PARENTHESIS2Aβ0000002Aβ ASTERISK2Bβ0000002Bβ PLUS SIGN2Cβ0000002Cβ COMMA2Dβ0000002Dβ HYPHEN-MINUS2Eβ0000002Eβ FULL STOP2Fβ0000002Fβ SOLIDUS30β00000030β DIGIT ZERO31β00000031β DIGIT ONE32β00000032β DIGIT TWO33β00000033β DIGIT THREE34β00000034β DIGIT FOUR35β00000035β DIGIT FIVE36β00000036β DIGIT SIX37β00000037β DIGIT SEVEN38β00000038β DIGIT EIGHT39β00000039β DIGIT NINE3Aβ0000003Aβ COLON3Bβ0000003Bβ SEMICOLON3Cβ0000003Cβ LESS-THAN SIGN3Dβ0000003Dβ EQUALS SIGN3Eβ0000003Eβ GREATER-THAN SIGN3Fβ0000003Fβ QUESTION MARK40β00000040β COMMERCIAL AT41β00000041β LATIN CAPITAL LETTER A42β00000042β LATIN CAPITAL LETTER B43β00000043β LATIN CAPITAL LETTER C44β00000044β LATIN CAPITAL LETTER D45β00000045β LATIN CAPITAL LETTER E46β00000046β LATIN CAPITAL LETTER F47β00000047β LATIN CAPITAL LETTER G48β00000048β LATIN CAPITAL LETTER H49β00000049β LATIN CAPITAL LETTER I4Aβ0000004Aβ LATIN CAPITAL LETTER J4Bβ0000004Bβ LATIN CAPITAL LETTER K4Cβ0000004Cβ LATIN CAPITAL LETTER L4Dβ0000004Dβ LATIN CAPITAL LETTER M4Eβ0000004Eβ LATIN CAPITAL LETTER N4Fβ0000004Fβ LATIN CAPITAL LETTER O50β00000050β LATIN CAPITAL LETTER P51β00000051β LATIN CAPITAL LETTER Q52β00000052β LATIN CAPITAL LETTER R53β00000053β LATIN CAPITAL LETTER S54β00000054β LATIN CAPITAL LETTER T55β00000055β LATIN CAPITAL LETTER U56β00000056β LATIN CAPITAL LETTER V57β00000057β LATIN CAPITAL LETTER W58β00000058β LATIN CAPITAL LETTER X59β00000059β LATIN CAPITAL LETTER Y5Aβ0000005Aβ LATIN CAPITAL LETTER Z: end of the shouting section, bestie5Bβ0000005Bβ LEFT SQUARE BRACKET5Cβ0000005Cβ REVERSE SOLIDUS5Dβ0000005Dβ RIGHT SQUARE BRACKET5Eβ0000005Eβ CIRCUMFLEX ACCENT5Fβ0000005Fβ LOW LINE60β00000060β GRAVE ACCENT: the backtick, my beloved π«Ά61β00000061β LATIN SMALL LETTER A62β00000062β LATIN SMALL LETTER B63β00000063β LATIN SMALL LETTER C64β00000064β LATIN SMALL LETTER D65β00000065β LATIN SMALL LETTER E66β00000066β LATIN SMALL LETTER F67β00000067β LATIN SMALL LETTER G68β00000068β LATIN SMALL LETTER H69β00000069β LATIN SMALL LETTER I6Aβ0000006Aβ LATIN SMALL LETTER J6Bβ0000006Bβ LATIN SMALL LETTER K6Cβ0000006Cβ LATIN SMALL LETTER L6Dβ0000006Dβ LATIN SMALL LETTER M6Eβ0000006Eβ LATIN SMALL LETTER N6Fβ0000006Fβ LATIN SMALL LETTER O70β00000070β LATIN SMALL LETTER P71β00000071β LATIN SMALL LETTER Q72β00000072β LATIN SMALL LETTER R73β00000073β LATIN SMALL LETTER S74β00000074β LATIN SMALL LETTER T75β00000075β LATIN SMALL LETTER U76β00000076β LATIN SMALL LETTER V77β00000077β LATIN SMALL LETTER W78β00000078β LATIN SMALL LETTER X79β00000079β LATIN SMALL LETTER Y7Aβ0000007Aβ LATIN SMALL LETTER Z7Bβ0000007Bβ LEFT CURLY BRACKET7Cβ0000007Cβ VERTICAL LINE7Dβ0000007Dβ RIGHT CURLY BRACKET7Eβ0000007Eβ TILDE
π§ 7FβBF β where it stops being ASCII and starts being aesthetic
This is the fun part, bestie. From here on out KOI8-R stops pretending and goes full art project π¨
7Fβ0000007Fβ DELETE (DEL)80β00002500β BOX DRAWINGS LIGHT HORIZONTAL81β00002502β BOX DRAWINGS LIGHT VERTICAL82β0000250Cβ BOX DRAWINGS LIGHT DOWN AND RIGHT83β00002510β BOX DRAWINGS LIGHT DOWN AND LEFT84β00002514β BOX DRAWINGS LIGHT UP AND RIGHT85β00002518β BOX DRAWINGS LIGHT UP AND LEFT86β0000251Cβ BOX DRAWINGS LIGHT VERTICAL AND RIGHT87β00002524β BOX DRAWINGS LIGHT VERTICAL AND LEFT88β0000252Cβ BOX DRAWINGS LIGHT DOWN AND HORIZONTAL89β00002534β BOX DRAWINGS LIGHT UP AND HORIZONTAL8Aβ0000253Cβ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL8Bβ00002580β UPPER HALF BLOCK8Cβ00002584β LOWER HALF BLOCK8Dβ00002588β FULL BLOCK8Eβ0000258Cβ LEFT HALF BLOCK8Fβ00002590β RIGHT HALF BLOCK90β00002591β LIGHT SHADE91β00002592β MEDIUM SHADE92β00002593β DARK SHADE93β00002320β TOP HALF INTEGRAL94β000025A0β BLACK SQUARE95β00002219β BULLET OPERATOR96β0000221Aβ SQUARE ROOT97β00002248β ALMOST EQUAL TO98β00002264β LESS-THAN OR EQUAL TO99β00002265β GREATER-THAN OR EQUAL TO9Aβ000000A0β NO-BREAK SPACE9Bβ00002321β BOTTOM HALF INTEGRAL9Cβ000000B0β DEGREE SIGN9Dβ000000B2β SUPERSCRIPT TWO9Eβ000000B7β MIDDLE DOT9Fβ000000F7β DIVISION SIGNA0β00002550β BOX DRAWINGS DOUBLE HORIZONTALA1β00002551β BOX DRAWINGS DOUBLE VERTICALA2β00002552β BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLEA3β00000451β CYRILLIC SMALL LETTER IO: yes a letter, just vibing in the middle of the box-drawing section, we love a plot twist πA4β00002553β BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLEA5β00002554β BOX DRAWINGS DOUBLE DOWN AND RIGHTA6β00002555β BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLEA7β00002556β BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLEA8β00002557β BOX DRAWINGS DOUBLE DOWN AND LEFTA9β00002558β BOX DRAWINGS UP SINGLE AND RIGHT DOUBLEAAβ00002559β BOX DRAWINGS UP DOUBLE AND RIGHT SINGLEABβ0000255Aβ BOX DRAWINGS DOUBLE UP AND RIGHTACβ0000255Bβ BOX DRAWINGS UP SINGLE AND LEFT DOUBLEADβ0000255Cβ BOX DRAWINGS UP DOUBLE AND LEFT SINGLEAEβ0000255Dβ BOX DRAWINGS DOUBLE UP AND LEFTAFβ0000255Eβ BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLEB0β0000255Fβ BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLEB1β00002560β BOX DRAWINGS DOUBLE VERTICAL AND RIGHTB2β00002561β BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLEB3β00000401β CYRILLIC CAPITAL LETTER IO: the shouty version ofA3, matching set, periodtB4β00002562β BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLEB5β00002563β BOX DRAWINGS DOUBLE VERTICAL AND LEFTB6β00002564β BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLEB7β00002565β BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLEB8β00002566β BOX DRAWINGS DOUBLE DOWN AND HORIZONTALB9β00002567β BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLEBAβ00002568β BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLEBBβ00002569β BOX DRAWINGS DOUBLE UP AND HORIZONTALBCβ0000256Aβ BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLEBDβ0000256Bβ BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLEBEβ0000256Cβ BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTALBFβ000000A9β COPYRIGHT SIGN: the last one before the Cyrillic section takes over, a little legal moment βοΈ
lowkey the whole80βBEstretch is the reason KOI8-R looks so good in a terminal β it's box-drawing everywhere, so yourmcpanels and ASCII art pop off. that's just what the glyphs are, bestie, nothing extra π
π C0βE7 β Cyrillic o'clock, part one
Here's where the actual Russian alphabet shows up, and the order is not alphabetical, it's the whole point of KOI8-R, so don't come for me π
C0β0000044Eβ CYRILLIC SMALL LETTER YUC1β00000430β CYRILLIC SMALL LETTER AC2β00000431β CYRILLIC SMALL LETTER BEC3β00000446β CYRILLIC SMALL LETTER TSEC4β00000434β CYRILLIC SMALL LETTER DEC5β00000435β CYRILLIC SMALL LETTER IEC6β00000444β CYRILLIC SMALL LETTER EFC7β00000433β CYRILLIC SMALL LETTER GHEC8β00000445β CYRILLIC SMALL LETTER HAC9β00000438β CYRILLIC SMALL LETTER ICAβ00000439β CYRILLIC SMALL LETTER SHORT ICBβ0000043Aβ CYRILLIC SMALL LETTER KACCβ0000043Bβ CYRILLIC SMALL LETTER ELCDβ0000043Cβ CYRILLIC SMALL LETTER EMCEβ0000043Dβ CYRILLIC SMALL LETTER ENCFβ0000043Eβ CYRILLIC SMALL LETTER OD0β0000043Fβ CYRILLIC SMALL LETTER PED1β0000044Fβ CYRILLIC SMALL LETTER YAD2β00000440β CYRILLIC SMALL LETTER ERD3β00000441β CYRILLIC SMALL LETTER ESD4β00000442β CYRILLIC SMALL LETTER TED5β00000443β CYRILLIC SMALL LETTER UD6β00000436β CYRILLIC SMALL LETTER ZHED7β00000432β CYRILLIC SMALL LETTER VED8β0000044Cβ CYRILLIC SMALL LETTER SOFT SIGND9β0000044Bβ CYRILLIC SMALL LETTER YERUDAβ00000437β CYRILLIC SMALL LETTER ZEDBβ00000448β CYRILLIC SMALL LETTER SHADCβ0000044Dβ CYRILLIC SMALL LETTER EDDβ00000449β CYRILLIC SMALL LETTER SHCHADEβ00000447β CYRILLIC SMALL LETTER CHEDFβ0000044Aβ CYRILLIC SMALL LETTER HARD SIGN: last of the lowercase crew π«ΆE0β0000042Eβ CYRILLIC CAPITAL LETTER YUE1β00000410β CYRILLIC CAPITAL LETTER AE2β00000411β CYRILLIC CAPITAL LETTER BEE3β00000426β CYRILLIC CAPITAL LETTER TSEE4β00000414β CYRILLIC CAPITAL LETTER DEE5β00000415β CYRILLIC CAPITAL LETTER IEE6β00000424β CYRILLIC CAPITAL LETTER EFE7β00000413β CYRILLIC CAPITAL LETTER GHE
β¦and hereβs the rest of the table, bestie β every row, zero skips, fr fr:
E8 | 00000425 | CYRILLIC CAPITAL LETTER HA
E9 | 00000418 | CYRILLIC CAPITAL LETTER I
EA | 00000419 | CYRILLIC CAPITAL LETTER SHORT I
EB | 0000041A | CYRILLIC CAPITAL LETTER KA
EC | 0000041B | CYRILLIC CAPITAL LETTER EL
ED | 0000041C | CYRILLIC CAPITAL LETTER EM
EE | 0000041D | CYRILLIC CAPITAL LETTER EN
EF | 0000041E | CYRILLIC CAPITAL LETTER O
F0 | 0000041F | CYRILLIC CAPITAL LETTER PE
F1 | 0000042F | CYRILLIC CAPITAL LETTER YA
F2 | 00000420 | CYRILLIC CAPITAL LETTER ER
F3 | 00000421 | CYRILLIC CAPITAL LETTER ES
F4 | 00000422 | CYRILLIC CAPITAL LETTER TE
F5 | 00000423 | CYRILLIC CAPITAL LETTER U
F6 | 00000416 | CYRILLIC CAPITAL LETTER ZHE
F7 | 00000412 | CYRILLIC CAPITAL LETTER VE
F8 | 0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
F9 | 0000042B | CYRILLIC CAPITAL LETTER YERU
FA | 00000417 | CYRILLIC CAPITAL LETTER ZE
FB | 00000428 | CYRILLIC CAPITAL LETTER SHA
FC | 0000042D | CYRILLIC CAPITAL LETTER E
FD | 00000429 | CYRILLIC CAPITAL LETTER SHCHA
FE | 00000427 | CYRILLIC CAPITAL LETTER CHE
FF | 0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
π AUTHOR π
Copyright vibes: Copyright (C) 2002-2017 Guido Flohr <http://www.guido-flohr.net/> (<mailto:guido.flohr@cantanea.com>), all rights reserved.
And the source code is where the full details live β the page literally says: See the source code for details!code for details! π
π¦ SEE ALSO π¦
Go check out Locale::RecodeData(3), Locale::Recode(3), and perl(1) β bestie-recommended reading, no cap. π
Thatβs the whole KOI8_R saga, bestie! β¨ This little beauty is from perl v5.42.0, dated 2025-01-22, and itβs the Locale:...:KOI8_R(3) page β mwah! π
π¦ where this page comes from
- opensuse-leap 16.0: perl-libintl-perl 1.350.0-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: perl-libintl-perl 1.350.0-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: perl-libintl-perl 1.350.0-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: perl-libintl-perl 1.350.0-160000.2.2 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms