Locale:...:IBM851(3)

πŸ’– Locale::RecodeData::IBM851(3) πŸ’–

okay so like, hi bestie!! 🌸 this is the manual page for Locale::...:IBM851(3) β€” it's part of the User Contributed Perl Documentation, which is literally where all the good stuff lives. come sit with me, we're gonna go through it together 🫢


✨ NAME ✨

Locale::RecodeData::IBM851 β€” conversion routines for IBM851 πŸ’…

like, that's the whole vibe. it does the converting. for IBM851. iconic behavior honestly.


✨ SYNOPSIS ✨

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

okay so this is the part where I have to be a little stern with you, bestie 😭 β€” this module is internal to libintl. it is not for you. do not use it directly. I'm serious!! it's giving "staff only" door energy πŸšͺ✨


✨ DESCRIPTION ✨

so what is it? this module is generated, and it contains the conversion tables and routines for IBM851. that's it, that's the whole description πŸŽ€ it's a generated little guy doing generated little things. we love a humble queen πŸ‘‘


✨ COMMENTS ✨

okay so the following comments have been extracted from the original charmap, and honestly? they're giving lore πŸ¦‹

version: 1.0
 source: IBM NLS RM Vol2 SE09-8002-01, March 1990
alias CP851
alias 851

like β€” version: 1.0, source: IBM NLS RM Vol2 SE09-8002-01, March 1990, alias CP851, alias 851. look at that vintage March 1990 energy, a literal elder 🌈

⚠️ but bestie please note: the aliases listed above are not necessarily valid! so don't come for me if you try CP851 or 851 and it doesn't slay. it's giving "maybe, maybe not" πŸ’€

✨ CHARACTER TABLE ✨

the following table is sorted in the same order as the original charmap πŸ“Š no cap. and also!! all character codes are in hexadecimal πŸ”₯ so like, get your hex brain on.

one more thing β€” please read 'ISO-10646' as 'ISO-10646-UCS4'. yes literally, that's the note, I'm not making it up πŸ™ˆ it's a naming thing, iykyk.

✨ part 1 done, more coming bestie ✨

okay bestie, buckle up β€” this next stretch is literally just the table doing its thing, so let's take it in bite-sized pieces so your eyes don't glaze over πŸ’–

✨ CHARACTER TABLE ✨ (cont'd)

first up: the control characters. the invisible ones. the ones that don't look like anything but are absolutely running the whole show behind the scenes 😭 lowkey the main character energy of the whole table ngl:

           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)

then 20 through 7F β€” this is the part where it's like, oh, these are just... the normal ones?? the letters and the punctuation and the vibes πŸŽ€ it's giving "ASCII greatest hits":

           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)

and now we get to the good part β€” everything from 80 up, where IBM851 starts throwing accented letters, Greek, little fractions, and oh my god the box drawing characters πŸ˜­πŸ¦‹ like yes give us the shading and the blocks and every possible corner of a box. this is the aesthetic section fr fr:

           80 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
           81 |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
           82 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
           83 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
           84 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
           85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
           86 |  00000386 | GREEK CAPITAL LETTER ALPHA WITH TONOS
           87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
           88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
           89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
           8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
           8B |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
           8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
           8D |  00000388 | GREEK CAPITAL LETTER EPSILON WITH TONOS
           8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
           8F |  00000389 | GREEK CAPITAL LETTER ETA WITH TONOS
           90 |  0000038A | GREEK CAPITAL LETTER IOTA WITH TONOS
           92 |  0000038C | GREEK CAPITAL LETTER OMICRON WITH TONOS
           93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
           94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
           95 |  0000038E | GREEK CAPITAL LETTER UPSILON WITH TONOS
           96 |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
           97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
           98 |  0000038F | GREEK CAPITAL LETTER OMEGA WITH TONOS
           99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
           9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
           9B |  000003AC | GREEK SMALL LETTER ALPHA WITH TONOS
           9C |  000000A3 | POUND SIGN
           9D |  000003AD | GREEK SMALL LETTER EPSILON WITH TONOS
           9E |  000003AE | GREEK SMALL LETTER ETA WITH TONOS
           9F |  000003AF | GREEK SMALL LETTER IOTA WITH TONOS
           A0 |  000003CA | GREEK SMALL LETTER IOTA WITH DIALYTIKA
           A1 |  00000390 | GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
           A2 |  000003CC | GREEK SMALL LETTER OMICRON WITH TONOS
           A3 |  000003CD | GREEK SMALL LETTER UPSILON WITH TONOS
           A4 |  00000391 | GREEK CAPITAL LETTER ALPHA
           A5 |  00000392 | GREEK CAPITAL LETTER BETA
           A6 |  00000393 | GREEK CAPITAL LETTER GAMMA
           A7 |  00000394 | GREEK CAPITAL LETTER DELTA
           A8 |  00000395 | GREEK CAPITAL LETTER EPSILON
           A9 |  00000396 | GREEK CAPITAL LETTER ZETA
           AA |  00000397 | GREEK CAPITAL LETTER ETA
           AB |  000000BD | VULGAR FRACTION ONE HALF
           AC |  00000398 | GREEK CAPITAL LETTER THETA
           AD |  00000399 | GREEK CAPITAL LETTER IOTA
           AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
           AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
           B0 |  00002591 | LIGHT SHADE
           B1 |  00002592 | MEDIUM SHADE
           B2 |  00002593 | DARK SHADE
           B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
           B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
           B5 |  0000039A | GREEK CAPITAL LETTER KAPPA
           B6 |  0000039B | GREEK CAPITAL LETTER LAMDA
           B7 |  0000039D | GREEK CAPITAL LETTER NU
           B8 |  0000039C | GREEK CAPITAL LETTER MU
           B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
           BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
           BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
           BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
           BD |  0000039E | GREEK CAPITAL LETTER XI
           BE |  0000039F | GREEK CAPITAL LETTER OMICRON
           BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
           C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
           C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
           C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
           C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
           C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
           C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
           C6 |  000003A0 | GREEK CAPITAL LETTER PI
           C7 |  000003A1 | GREEK CAPITAL LETTER RHO
           C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
           C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
           CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
           CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
           CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
           CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
           CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
           CF |  000003A3 | GREEK CAPITAL LETTER SIGMA
           D0 |  000003A4 | GREEK CAPITAL LETTER TAU
           D1 |  000003A5 | GREEK CAPITAL LETTER UPSILON
           D2 |  000003A6 | GREEK CAPITAL LETTER PHI
           D3 |  000003A7 | GREEK CAPITAL LETTER CHI
           D4 |  000003A8 | GREEK CAPITAL LETTER PSI
           D5 |  000003A9 | GREEK CAPITAL LETTER OMEGA
           D6 |  000003B1 | GREEK SMALL LETTER ALPHA
           D7 |  000003B2 | GREEK SMALL LETTER BETA
           D8 |  000003B3 | GREEK SMALL LETTER GAMMA
           D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
           DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
           DB |  00002588 | FULL BLOCK
           DC |  00002584 | LOWER HALF BLOCK
           DD |  000003B4 | GREEK SMALL LETTER DELTA
           DE |  000003B5 | GREEK SMALL LETTER EPSILON
           DF |  00002580 | UPPER HALF BLOCK
           E0 |  000003B6 | GREEK SMALL LETTER ZETA
           E1 |  000003B7 | GREEK SMALL LETTER ETA
           E2 |  000003B8 | GREEK SMALL LETTER THETA
           E3 |  000003B9 | GREEK SMALL LETTER IOTA
           E4 |  000003BA | GREEK SMALL LETTER KAPPA
           E5 |  000003BB | GREEK SMALL LETTER LAMDA
ok and one tiny heads-up 🫢 did you clock that the table hops straight from 90 to 92? yeah. that's just what it does. don't come for me, I'm reporting it exactly how it is β€” no 91 in sight, no cap πŸ’…

and that's where this chunk of the table lands β€” the box drawing saga is still going, so like... keep scrolling bestie, we're not done 🧚

E6 |  000003BC | GREEK SMALL LETTER MU
E7 |  000003BD | GREEK SMALL LETTER NU
E8 |  000003BE | GREEK SMALL LETTER XI
E9 |  000003BF | GREEK SMALL LETTER OMICRON
EA |  000003C0 | GREEK SMALL LETTER PI
EB |  000003C1 | GREEK SMALL LETTER RHO
EC |  000003C3 | GREEK SMALL LETTER SIGMA
ED |  000003C2 | GREEK SMALL LETTER FINAL SIGMA
EE |  000003C4 | GREEK SMALL LETTER TAU
EF |  000000B4 | ACUTE ACCENT
F0 |  000000AD | SOFT HYPHEN
F1 |  000000B1 | PLUS-MINUS SIGN
F2 |  000003C5 | GREEK SMALL LETTER UPSILON
F3 |  000003C6 | GREEK SMALL LETTER PHI
F4 |  000003C7 | GREEK SMALL LETTER CHI
F5 |  000000A7 | SECTION SIGN
F6 |  000003C8 | GREEK SMALL LETTER PSI
F7 |  000002DB | OGONEK
F8 |  000000B0 | DEGREE SIGN
F9 |  000000A8 | DIAERESIS
FA |  000003C9 | GREEK SMALL LETTER OMEGA
FB |  000003CB | GREEK SMALL LETTER UPSILON WITH DIALYTIKA
FC |  000003B0 | GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
FD |  000003CE | GREEK SMALL LETTER OMEGA WITH TONOS
FE |  000025A0 | BLACK SQUARE
FF |  000000A0 | NO-BREAK SPACE

and that's the whole rest of the table bestie πŸ’œ β€” <pink>E6</pink> all the way to <pink>FF</pink>, no skips, no gaps, we ate. Notice how EC is GREEK SMALL LETTER SIGMA but ED is GREEK SMALL LETTER FINAL SIGMA? Yeah, the byte order there is lowkey not alphabetical and that's just how it is β€” don't come for me, I didn't build the codepage 😭. Also FE is a literal BLACK SQUARE and FF is NO-BREAK SPACE, which is the most unserious ending to a character table ever but okay, we move. 🫢


✨ 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!

Yeah, that doubled-up <purple>details!code for details!</purple> is literally in the original β€” iconic typo behavior, we keep it exactly as-is because we do not edit the source of truth, periodt. πŸ’…

🌈 SEE ALSO 🌈


so yeah, that's the whole page! go forth and convert your bytes, you absolute icon πŸ‘‘βœ¨

perl v5.42.0 Β· 2025-01-22 β€” that's the version and the date this page was born, and that's the vibe check. mwah πŸ’‹πŸ¦‹πŸ“