Locale:..._8859_5(3)

πŸ’œ Locale::RecodeData::ISO_8859_5(3)

okay so real quick bestie, before we even get into it β€” this page is Locale:..._8859_5(3), and the manual it lives under is User Contributed Perl Documentation. That's the header energy, that's the vibe. Now let's go ✨


🌸 NAME

Locale::RecodeData::ISO_8859_5 β€” the conversion routines for ISO-8859-5. that's it, that's the whole name. short, sweet, iconic πŸŽ€


πŸ¦‹ SYNOPSIS

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

literally what it says. this bad boy is <rainbow>internal to libintl</rainbow> and you should not use it directly. like, respectfully, hands off πŸ™ˆ it's giving backstage-only, not main character energy, iykyk.


πŸ’… DESCRIPTION

so this module is generated (not hand-written, it's a build artifact bestie, don't come for it) and it contains the conversion tables and routines for ISO-8859-5. that's the whole job. it converts, it tables, it slays πŸ’–


πŸ“ COMMENTS

the following comments got extracted from the original charmap β€” so these are the og notes, preserved exactly, no cap:

 version: 1.0
  source: ECMA registry
 alias ISO-IR-144
 alias ISO_8859-5:1988
 alias ISO_8859-5
 alias CYRILLIC

and here's the part where I need you to pay attention bestie, because this is a warning:

please note that aliases listed above are not necessarily valid!

fr fr. they're in the charmap, that doesn't mean they all actually work as aliases. don't @ me, don't @ the module, it's just what the source says 😭


πŸ”₯ CHARACTER TABLE

the following table is sorted in the same order as the original charmap β€” like, the ordering is load-bearing, respect it 🫢

all character codes are in hexadecimal. hexadecimal. hex. base-16. not decimal, not vibes, hex πŸ’œ

and one little reading instruction for you: please read 'ISO-10646' as 'ISO-10646-UCS4'. that's the mapping, that's the deal, keep it in mind for what comes next ⭐


okay that's the setup done β€” and yes there is more, this page is a whole saga so stay with me, the character table content is coming right up πŸ’€πŸŒΈ

Okay so this is the part where it gets so good β€” the actual table. Sit with me, bestie, because this is literally just a giant look-up chart: left column = the byte in ISO-8859-5, middle = the same character written as an ISO-10646 (that's Unicode, iykyk) code point, right = the actual human name of the character. Same three columns the whole way down. No cap, that's the whole vibe. πŸ’…

Starting from the top with the control characters β€” the ones that don't look like anything but run the whole show behind the scenes:

        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)

Like, 07 is literally BELL β€” she makes a noise. Iconic. πŸ”” And 0A is your girl LINE FEED, the reason your terminal doesn't become one cursed long line. Respect her. 🫢


Then we hit the printable ASCII stretch β€” the part you already know and love, but now with receipts for every single byte:

           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

Lowkey obsessed with 2D being HYPHEN-MINUS and not just "dash" β€” the girl has a whole government name. πŸ˜­πŸ’€


Then 7F through 9F β€” more control characters, but the fancy high-octet kind, straight out of the big-kid standards world:

           7F |  0000007F | DELETE (DEL)
           80 |  00000080 | PADDING CHARACTER (PAD)
           81 |  00000081 | HIGH OCTET PRESET (HOP)
           82 |  00000082 | BREAK PERMITTED HERE (BPH)
           83 |  00000083 | NO BREAK HERE (NBH)
           84 |  00000084 | INDEX (IND)
           85 |  00000085 | NEXT LINE (NEL)
           86 |  00000086 | START OF SELECTED AREA (SSA)
           87 |  00000087 | END OF SELECTED AREA (ESA)
           88 |  00000088 | CHARACTER TABULATION SET (HTS)
           89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
           8A |  0000008A | LINE TABULATION SET (VTS)
           8B |  0000008B | PARTIAL LINE FORWARD (PLD)
           8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
           8D |  0000008D | REVERSE LINE FEED (RI)
           8E |  0000008E | SINGLE-SHIFT TWO (SS2)
           8F |  0000008F | SINGLE-SHIFT THREE (SS3)
           90 |  00000090 | DEVICE CONTROL STRING (DCS)
           91 |  00000091 | PRIVATE USE ONE (PU1)
           92 |  00000092 | PRIVATE USE TWO (PU2)
           93 |  00000093 | SET TRANSMIT STATE (STS)
           94 |  00000094 | CANCEL CHARACTER (CCH)
           95 |  00000095 | MESSAGE WAITING (MW)
           96 |  00000096 | START OF GUARDED AREA (SPA)
           97 |  00000097 | END OF GUARDED AREA (EPA)
           98 |  00000098 | START OF STRING (SOS)
           99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
           9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
           9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
           9C |  0000009C | STRING TERMINATOR (ST)
           9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
           9E |  0000009E | PRIVACY MESSAGE (PM)
           9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)

9B is CONTROL SEQUENCE INTRODUCER (CSI) β€” not the tv show, but honestly also a main character. πŸŒˆπŸ”


And now. The moment. The reason we're all here. A0 onward is where ISO-8859-5 finally does its thing and hands you the Cyrillic alphabet, byte by byte, with some very specific national guest stars along the way:

           A0 |  000000A0 | NO-BREAK SPACE
           A1 |  00000401 | CYRILLIC CAPITAL LETTER IO
           A2 |  00000402 | CYRILLIC CAPITAL LETTER DJE (Serbocroatian)
           A3 |  00000403 | CYRILLIC CAPITAL LETTER GJE
           A4 |  00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
           A5 |  00000405 | CYRILLIC CAPITAL LETTER DZE
           A6 |  00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
           A7 |  00000407 | CYRILLIC CAPITAL LETTER YI (Ukrainian)
           A8 |  00000408 | CYRILLIC CAPITAL LETTER JE
           A9 |  00000409 | CYRILLIC CAPITAL LETTER LJE
           AA |  0000040A | CYRILLIC CAPITAL LETTER NJE
           AB |  0000040B | CYRILLIC CAPITAL LETTER TSHE (Serbocroatian)
           AC |  0000040C | CYRILLIC CAPITAL LETTER KJE
           AD |  000000AD | SOFT HYPHEN
           AE |  0000040E | CYRILLIC CAPITAL LETTER SHORT U (Byelorussian)
           AF |  0000040F | CYRILLIC CAPITAL LETTER DZHE
           B0 |  00000410 | CYRILLIC CAPITAL LETTER A
           B1 |  00000411 | CYRILLIC CAPITAL LETTER BE
           B2 |  00000412 | CYRILLIC CAPITAL LETTER VE
           B3 |  00000413 | CYRILLIC CAPITAL LETTER GHE
           B4 |  00000414 | CYRILLIC CAPITAL LETTER DE
           B5 |  00000415 | CYRILLIC CAPITAL LETTER IE
           B6 |  00000416 | CYRILLIC CAPITAL LETTER ZHE
           B7 |  00000417 | CYRILLIC CAPITAL LETTER ZE
           B8 |  00000418 | CYRILLIC CAPITAL LETTER I
           B9 |  00000419 | CYRILLIC CAPITAL LETTER SHORT I
           BA |  0000041A | CYRILLIC CAPITAL LETTER KA
           BB |  0000041B | CYRILLIC CAPITAL LETTER EL
           BC |  0000041C | CYRILLIC CAPITAL LETTER EM
           BD |  0000041D | CYRILLIC CAPITAL LETTER EN
           BE |  0000041E | CYRILLIC CAPITAL LETTER O
           BF |  0000041F | CYRILLIC CAPITAL LETTER PE
           C0 |  00000420 | CYRILLIC CAPITAL LETTER ER
           C1 |  00000421 | CYRILLIC CAPITAL LETTER ES
           C2 |  00000422 | CYRILLIC CAPITAL LETTER TE
           C3 |  00000423 | CYRILLIC CAPITAL LETTER U
           C4 |  00000424 | CYRILLIC CAPITAL LETTER EF
           C5 |  00000425 | CYRILLIC CAPITAL LETTER HA
           C6 |  00000426 | CYRILLIC CAPITAL LETTER TSE
           C7 |  00000427 | CYRILLIC CAPITAL LETTER CHE
           C8 |  00000428 | CYRILLIC CAPITAL LETTER SHA
           C9 |  00000429 | CYRILLIC CAPITAL LETTER SHCHA
           CA |  0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
           CB |  0000042B | CYRILLIC CAPITAL LETTER YERU
           CC |  0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
           CD |  0000042D | CYRILLIC CAPITAL LETTER E
           CE |  0000042E | CYRILLIC CAPITAL LETTER YU
           CF |  0000042F | CYRILLIC CAPITAL LETTER YA
           D0 |  00000430 | CYRILLIC SMALL LETTER A
           D1 |  00000431 | CYRILLIC SMALL LETTER BE
           D2 |  00000432 | CYRILLIC SMALL LETTER VE
           D3 |  00000433 | CYRILLIC SMALL LETTER GHE
           D4 |  00000434 | CYRILLIC SMALL LETTER DE
           D5 |  00000435 | CYRILLIC SMALL LETTER IE
           D6 |  00000436 | CYRILLIC SMALL LETTER ZHE
           D7 |  00000437 | CYRILLIC SMALL LETTER ZE
           D8 |  00000438 | CYRILLIC SMALL LETTER I
           D9 |  00000439 | CYRILLIC SMALL LETTER SHORT I
           DA |  0000043A | CYRILLIC SMALL LETTER KA
           DB |  0000043B | CYRILLIC SMALL LETTER EL
           DC |  0000043C | CYRILLIC SMALL LETTER EM
           DD |  0000043D | CYRILLIC SMALL LETTER EN
           DE |  0000043E | CYRILLIC SMALL LETTER O
           DF |  0000043F | CYRILLIC SMALL LETTER PE
           E0 |  00000440 | CYRILLIC SMALL LETTER ER
           E1 |  00000441 | CYRILLIC SMALL LETTER ES
           E2 |  00000442 | CYRILLIC SMALL LETTER TE
           E3 |  00000443 | CYRILLIC SMALL LETTER U
           E4 |  00000444 | CYRILLIC SMALL LETTER EF
           E5 |  00000445 | CYRILLIC SMALL LETTER HA
           E6 |  00000446 | CYRILLIC SMALL LETTER TSE
           E7 |  00000447 | CYRILLIC SMALL LETTER CHE
           E8 |  00000448 | CYRILLIC SMALL LETTER SHA
           E9 |  00000449 | CYRILLIC SMALL LETTER SHCHA
           EA |  0000044A | CYRILLIC SMALL LETTER HARD SIGN

Notice how the capitals live from B0 to CF and the smalls start fresh at D0 β€” it's giving organized. And the way A2 and AB are tagged (Serbocroatian), A7 is (Ukrainian), and AE is (Byelorussian)? Those little parentheses are the whole personality. πŸ’–

Bestie we are so not done β€” the table keeps going past EA and there's more page after it. Part 3 has the rest, and it's gonna slay. πŸ¦‹βœ¨

  • EB β†’ 0000044B β€” CYRILLIC SMALL LETTER YERU
  • EC β†’ 0000044C β€” CYRILLIC SMALL LETTER SOFT SIGN
  • ED β†’ 0000044D β€” CYRILLIC SMALL LETTER E
  • EE β†’ 0000044E β€” CYRILLIC SMALL LETTER YU
  • EF β†’ 0000044F β€” CYRILLIC SMALL LETTER YA
  • F0 β†’ 00002116 β€” NUMERO SIGN
  • F1 β†’ 00000451 β€” CYRILLIC SMALL LETTER IO
  • F2 β†’ 00000452 β€” CYRILLIC SMALL LETTER DJE (Serbocroatian)
  • F3 β†’ 00000453 β€” CYRILLIC SMALL LETTER GJE
  • F4 β†’ 00000454 β€” CYRILLIC SMALL LETTER UKRAINIAN IE
  • F5 β†’ 00000455 β€” CYRILLIC SMALL LETTER DZE
  • F6 β†’ 00000456 β€” CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
  • F7 β†’ 00000457 β€” CYRILLIC SMALL LETTER YI (Ukrainian)
  • F8 β†’ 00000458 β€” CYRILLIC SMALL LETTER JE
  • F9 β†’ 00000459 β€” CYRILLIC SMALL LETTER LJE
  • FA β†’ 0000045A β€” CYRILLIC SMALL LETTER NJE
  • FB β†’ 0000045B β€” CYRILLIC SMALL LETTER TSHE (Serbocroatian)
  • FC β†’ 0000045C β€” CYRILLIC SMALL LETTER KJE
  • FD β†’ 000000A7 β€” SECTION SIGN
  • FE β†’ 0000045E β€” CYRILLIC SMALL LETTER SHORT U (Byelorussian)
  • FF β†’ 0000045F β€” CYRILLIC SMALL LETTER DZHE

And that's the whole table bestie, EB through FF, all 21 of them, no skips, no gaps πŸ’…βœ¨


πŸ‘‘ 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!

Like, all the rights are reserved, periodt 🫢 β€” and if you want the details details, the source code is right there waiting for you.


πŸ” SEE ALSO

Go read those next, iykyk 🌈


okay that's a wrap on this whole page, bestie β€” go forth and encode responsibly πŸ’– This little render was brought to you by perl v5.42.0, dated 2025-01-22 β€” the Locale:..._8859_5(3) era, and honestly? iconic πŸŽ€βœ¨