Locale:...:KOI8_RU(3)

πŸ’… Locale:...:KOI8_RU(3) πŸ’…

okay so bestie, this is a page from the User Contributed Perl Documentation set β€” the Locale:...:KOI8_RU(3) one specifically β€” and it's about one very specific little module. buckle up, it's short but it's iconic πŸŽ€


✨ NAME ✨

Locale::RecodeData::KOI8_RU β€” literally just conversion routines for KOI8-RU πŸ¦‹

that's it. that's the whole name. she's serving exactly what it says on the tin πŸ’…


🌸 SYNOPSIS 🌸

okay so here's the vibe check on this one:

This module is internal to libintl. Do not use directly!

like, do not come for her, she is not for public consumption 😭 she's an internal module for libintl, and the manpage is very clear about it. do not use directly. periodt. πŸ’€


πŸ’– DESCRIPTION πŸ’–

so this module is generated β€” like, nobody hand-wrote her, she was made by a machine β€” and what she contains is the conversion tables and routines for KOI8-RU. that's the whole job. tables and routines. slay ✨


🫢 COMMENTS 🫢

the following comments were extracted from the original charmap, and honestly? receipts πŸ‘‘

This charmap has been generated automatically from GNU libiconv
conversions.

so yeah β€” auto-generated, from GNU libiconv conversions. no cap, that's literally what it says 🌈

⚠️ important bestie moment: please note that aliases listed above are not necessarily valid! so don't just assume an alias works just because it's listed, okay? check before you commit πŸ™ˆ

πŸ‘‘ CHARACTER TABLE πŸ‘‘

okay so the table that follows is sorted in the same order as the original charmap β€” she's not doing her own thing, she's matching the source, respect πŸ’…

and two lil things to keep in mind:

  • all character codes are in hexadecimal πŸ”₯
  • please read 'ISO-10646' as 'ISO-10646-UCS4' β€” like, that's the intended reading, iykyk ⭐

more coming, bestie β€” this was just part 1 🌸

okay so we're mid-table and honestly? this is the part where it gets fun. remember the columns are Local | ISO-10646 | Description and every single byte is listed, no cap. here we go πŸ’…

the control zone first β€” tiny numbers, big drama:

        Local | ISO-10646 | Description
       -------+-----------+-------------------------------------------------
           00 |  00000000 | NULL (NUL)
           01 |  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)
           08 |  00000008 | BACKSPACE (BS)
           09 |  00000009 | CHARACTER TABULATION (HT)
           0A |  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)
           1C |  0000001C | FILE SEPARATOR (IS4)
           1D |  0000001D | GROUP SEPARATOR (IS3)
           1E |  0000001E | RECORD SEPARATOR (IS2)
           1F |  0000001F | UNIT SEPARATOR (IS1)

bestie the way 0A is LINE FEED and 0D is CARRIAGE RETURN and they are different things and people still argue about it in the group chat 😭


and then everything you actually type. the printable era, the one your keyboard knows by heart:

           20 |  00000020 | SPACE
           21 |  00000021 | EXCLAMATION MARK
           22 |  00000022 | QUOTATION MARK
           23 |  00000023 | NUMBER SIGN
           24 |  00000024 | DOLLAR SIGN
           25 |  00000025 | PERCENT SIGN
           26 |  00000026 | AMPERSAND
           27 |  00000027 | APOSTROPHE
           28 |  00000028 | LEFT PARENTHESIS
           29 |  00000029 | RIGHT PARENTHESIS
           2A |  0000002A | ASTERISK
           2B |  0000002B | PLUS SIGN
           2C |  0000002C | COMMA
           2D |  0000002D | HYPHEN-MINUS
           2E |  0000002E | FULL STOP
           2F |  0000002F | SOLIDUS
           30 |  00000030 | DIGIT ZERO
           31 |  00000031 | DIGIT ONE
           32 |  00000032 | DIGIT TWO
           33 |  00000033 | DIGIT THREE
           34 |  00000034 | DIGIT FOUR
           35 |  00000035 | DIGIT FIVE
           36 |  00000036 | DIGIT SIX
           37 |  00000037 | DIGIT SEVEN
           38 |  00000038 | DIGIT EIGHT
           39 |  00000039 | DIGIT NINE
           3A |  0000003A | COLON
           3B |  0000003B | SEMICOLON
           3C |  0000003C | LESS-THAN SIGN
           3D |  0000003D | EQUALS SIGN
           3E |  0000003E | GREATER-THAN SIGN
           3F |  0000003F | QUESTION MARK
           40 |  00000040 | COMMERCIAL AT
           41 |  00000041 | LATIN CAPITAL LETTER A
           42 |  00000042 | LATIN CAPITAL LETTER B
           43 |  00000043 | LATIN CAPITAL LETTER C
           44 |  00000044 | LATIN CAPITAL LETTER D
           45 |  00000045 | LATIN CAPITAL LETTER E
           46 |  00000046 | LATIN CAPITAL LETTER F
           47 |  00000047 | LATIN CAPITAL LETTER G
           48 |  00000048 | LATIN CAPITAL LETTER H
           49 |  00000049 | LATIN CAPITAL LETTER I
           4A |  0000004A | LATIN CAPITAL LETTER J
           4B |  0000004B | LATIN CAPITAL LETTER K
           4C |  0000004C | LATIN CAPITAL LETTER L
           4D |  0000004D | LATIN CAPITAL LETTER M
           4E |  0000004E | LATIN CAPITAL LETTER N
           4F |  0000004F | LATIN CAPITAL LETTER O
           50 |  00000050 | LATIN CAPITAL LETTER P
           51 |  00000051 | LATIN CAPITAL LETTER Q
           52 |  00000052 | LATIN CAPITAL LETTER R
           53 |  00000053 | LATIN CAPITAL LETTER S
           54 |  00000054 | LATIN CAPITAL LETTER T
           55 |  00000055 | LATIN CAPITAL LETTER U
           56 |  00000056 | LATIN CAPITAL LETTER V
           57 |  00000057 | LATIN CAPITAL LETTER W
           58 |  00000058 | LATIN CAPITAL LETTER X
           59 |  00000059 | LATIN CAPITAL LETTER Y
           5A |  0000005A | LATIN CAPITAL LETTER Z
           5B |  0000005B | LEFT SQUARE BRACKET
           5C |  0000005C | REVERSE SOLIDUS
           5D |  0000005D | RIGHT SQUARE BRACKET
           5E |  0000005E | CIRCUMFLEX ACCENT
           5F |  0000005F | LOW LINE
           60 |  00000060 | GRAVE ACCENT
           61 |  00000061 | LATIN SMALL LETTER A
           62 |  00000062 | LATIN SMALL LETTER B
           63 |  00000063 | LATIN SMALL LETTER C
           64 |  00000064 | LATIN SMALL LETTER D
           65 |  00000065 | LATIN SMALL LETTER E
           66 |  00000066 | LATIN SMALL LETTER F
           67 |  00000067 | LATIN SMALL LETTER G
           68 |  00000068 | LATIN SMALL LETTER H
           69 |  00000069 | LATIN SMALL LETTER I
           6A |  0000006A | LATIN SMALL LETTER J
           6B |  0000006B | LATIN SMALL LETTER K
           6C |  0000006C | LATIN SMALL LETTER L
           6D |  0000006D | LATIN SMALL LETTER M
           6E |  0000006E | LATIN SMALL LETTER N
           6F |  0000006F | LATIN SMALL LETTER O
           70 |  00000070 | LATIN SMALL LETTER P
           71 |  00000071 | LATIN SMALL LETTER Q
           72 |  00000072 | LATIN SMALL LETTER R
           73 |  00000073 | LATIN SMALL LETTER S
           74 |  00000074 | LATIN SMALL LETTER T
           75 |  00000075 | LATIN SMALL LETTER U
           76 |  00000076 | LATIN SMALL LETTER V
           77 |  00000077 | LATIN SMALL LETTER W
           78 |  00000078 | LATIN SMALL LETTER X
           79 |  00000079 | LATIN SMALL LETTER Y
           7A |  0000007A | LATIN SMALL LETTER Z
           7B |  0000007B | LEFT CURLY BRACKET
           7C |  0000007C | VERTICAL LINE
           7D |  0000007D | RIGHT CURLY BRACKET
           7E |  0000007E | TILDE
           7F |  0000007F | DELETE (DEL)

7C VERTICAL LINE is the pipe, she's iconic, she's the whole personality of half your shell scripts, we stan 🫢 and 7F DELETE (DEL) just sitting there at the end of the party like πŸ‘€


okay now we cross into the high half and it's giving graphics department. box drawings, blocks, shades β€” the aesthetic ✨

           80 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
           81 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
           82 |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
           83 |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
           84 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
           85 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
           86 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
           87 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
           88 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
           89 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
           8A |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
           8B |  00002580 | UPPER HALF BLOCK
           8C |  00002584 | LOWER HALF BLOCK
           8D |  00002588 | FULL BLOCK
           8E |  0000258C | LEFT HALF BLOCK
           8F |  00002590 | RIGHT HALF BLOCK
           90 |  00002591 | LIGHT SHADE
           91 |  00002592 | MEDIUM SHADE
           92 |  00002593 | DARK SHADE
           93 |  00002320 | TOP HALF INTEGRAL
           94 |  000025A0 | BLACK SQUARE
           95 |  00002219 | BULLET OPERATOR
           96 |  0000221A | SQUARE ROOT
           97 |  00002248 | ALMOST EQUAL TO
           98 |  00002264 | LESS-THAN OR EQUAL TO
           99 |  00002265 | GREATER-THAN OR EQUAL TO
           9A |  000000A0 | NO-BREAK SPACE
           9B |  00002321 | BOTTOM HALF INTEGRAL
           9C |  000000B0 | DEGREE SIGN
           9D |  000000B2 | SUPERSCRIPT TWO
           9E |  000000B7 | MIDDLE DOT
           9F |  000000F7 | DIVISION SIGN

8D FULL BLOCK, 90 LIGHT SHADE, 91 MEDIUM SHADE, 92 DARK SHADE β€” that's the entire "make a progress bar out of text" starter pack and it honestly ate πŸ’€ also 96 SQUARE ROOT and 97 ALMOST EQUAL TO and 98/99 LESS-THAN OR EQUAL TO / GREATER-THAN OR EQUAL TO are lowkey the math girlies of the table.


this next stretch?? double lines AND Cyrillic letters in the same run. she's bilingual and she's extra, we love a multilingual queen πŸ‘‘

           A0 |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
           A1 |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
           A2 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
           A3 |  00000451 | CYRILLIC SMALL LETTER IO
           A4 |  00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
           A5 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
           A6 |  00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
           A7 |  00000457 | CYRILLIC SMALL LETTER YI
           A8 |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
           A9 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
           AA |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
           AB |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
           AC |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
           AD |  00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
           AE |  0000045E | CYRILLIC SMALL LETTER SHORT U
           AF |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
           B0 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
           B1 |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
           B2 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
           B3 |  00000401 | CYRILLIC CAPITAL LETTER IO
           B4 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
           B5 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
           B6 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
           B7 |  00000407 | CYRILLIC CAPITAL LETTER YI
           B8 |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
           B9 |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
           BA |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
           BB |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
           BC |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
           BD |  00000490 | CYRILLIC CAPITAL LETTER GHE WITH UPTURN
           BE |  0000040E | CYRILLIC CAPITAL LETTER SHORT U
           BF |  000000A9 | COPYRIGHT SIGN

shoutout to AD CYRILLIC SMALL LETTER GHE WITH UPTURN and BD CYRILLIC CAPITAL LETTER GHE WITH UPTURN holding it down, and BF COPYRIGHT SIGN just vibing at the end of the block like ©️


and HERE she is. the Cyrillic alphabet itself, lowercase run, the main character energy of the whole page πŸ¦‹

           C0 |  0000044E | CYRILLIC SMALL LETTER YU
           C1 |  00000430 | CYRILLIC SMALL LETTER A
           C2 |  00000431 | CYRILLIC SMALL LETTER BE
           C3 |  00000446 | CYRILLIC SMALL LETTER TSE
           C4 |  00000434 | CYRILLIC SMALL LETTER DE
           C5 |  00000435 | CYRILLIC SMALL LETTER IE
           C6 |  00000444 | CYRILLIC SMALL LETTER EF
           C7 |  00000433 | CYRILLIC SMALL LETTER GHE
           C8 |  00000445 | CYRILLIC SMALL LETTER HA
           C9 |  00000438 | CYRILLIC SMALL LETTER I
           CA |  00000439 | CYRILLIC SMALL LETTER SHORT I
           CB |  0000043A | CYRILLIC SMALL LETTER KA
           CC |  0000043B | CYRILLIC SMALL LETTER EL
           CD |  0000043C | CYRILLIC SMALL LETTER EM
           CE |  0000043D | CYRILLIC SMALL LETTER EN
           CF |  0000043E | CYRILLIC SMALL LETTER O
           D0 |  0000043F | CYRILLIC SMALL LETTER PE
           D1 |  0000044F | CYRILLIC SMALL LETTER YA
           D2 |  00000440 | CYRILLIC SMALL LETTER ER
           D3 |  00000441 | CYRILLIC SMALL LETTER ES
           D4 |  00000442 | CYRILLIC SMALL LETTER TE
           D5 |  00000443 | CYRILLIC SMALL LETTER U
           D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
           D7 |  00000432 | CYRILLIC SMALL LETTER VE
           D8 |  0000044C | CYRILLIC SMALL LETTER SOFT SIGN
           D9 |  0000044B | CYRILLIC SMALL LETTER YERU
           DA |  00000437 | CYRILLIC SMALL LETTER ZE
           DB |  00000448 | CYRILLIC SMALL LETTER SHA
           DC |  0000044D | CYRILLIC SMALL LETTER E
           DD |  00000449 | CYRILLIC SMALL LETTER SHCHA
           DE |  00000447 | CYRILLIC SMALL LETTER CHE
           DF |  0000044A | CYRILLIC SMALL LETTER HARD SIGN

not C0 being CYRILLIC SMALL LETTER YU and then jumping straight to C1 CYRILLIC SMALL LETTER A β€” the ordering is a whole journey and honestly that's just how this table is, bestie, we don't question the icon, we respect her πŸ™ˆ


uppercase time, and we're still rolling β€” no wrap-up yet because the table keeps going:

           E0 |  0000042E | CYRILLIC CAPITAL LETTER YU
           E1 |  00000410 | CYRILLIC CAPITAL LETTER A
           E2 |  00000411 | CYRILLIC CAPITAL LETTER BE
           E3 |  00000426 | CYRILLIC CAPITAL LETTER TSE
           E4 |  00000414 | CYRILLIC CAPITAL LETTER DE
           E5 |  00000415 | CYRILLIC CAPITAL LETTER IE
           E6 |  00000424 | CYRILLIC CAPITAL LETTER EF
           E7 |  00000413 | CYRILLIC CAPITAL LETTER GHE
           E8 |  00000425 | CYRILLIC CAPITAL LETTER HA
           E9 |  00000418 | CYRILLIC CAPITAL LETTER I

and we're cutting it there mid-run β€” E9 is CYRILLIC CAPITAL LETTER I, and the rest of the alphabet is waiting for you in the next chunk. grab a snack, this table is long fr fr πŸ’œ

           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

okay that's the whole tail end of the table, bestie πŸŽ€ every last byte from EA straight through to FF, all accounted for, no crumbs left behind. slay.


πŸ‘‘ AUTHOR πŸ‘‘

Copyright (C) 2002-2017 Guido Flohr <http://www.guido-flohr.net/> (<mailto:guido.flohr@cantanea.com>), all rights reserved. See the source code for details!code for details!

ngl the double "code for details" is literally right there in the source, so I'm leaving it exactly as found β€” iykyk πŸ™ˆ no edits, no cap.

πŸ’œ SEE ALSO πŸ’œ


and that's the whole page, gorgeous 🌈 go forth and decode your KOI8-RU bytes with main character energy πŸ’…βœ¨

this little masterpiece is from perl v5.42.0, dated 2025-01-22 β€” she's giving "archived but iconic" and honestly? obsessed 🫢