Locale:...:IBM860(3)

πŸ’… Locale::RecodeData::IBM860(3) β€” the one and only

okay bestie, welcome to Locale:...:IBM860(3), straight out of the User Contributed Perl Documentation section. this is the whole vibe, no cap ✨


🌸 NAME

Locale::RecodeData::IBM860 β€” conversion routines for IBM860 πŸŽ€

✨ SYNOPSIS

🚨 bestie stop right there β€” this module is internal to libintl. Do not use directly! that's not a suggestion, that's the rule πŸ’…

πŸ¦‹ DESCRIPTION

so here's the tea: this module is generated, and it contains the conversion tables and routines for IBM860. that's it, that's the whole job. it's giving "I was built by a machine and I do one thing very well." iconic honestly πŸ‘‘

πŸ’œ COMMENTS

the following comments have been extracted from the original charmap, and they're little historical artifacts fr fr:

 version: 1.0
  source: IBM NLS RM Vol2 SE09-8002-01, March 1990
 alias CP860
 alias 860
⚠️ please note that the aliases listed above are not necessarily valid! so don't come for me if CP860 or 860 doesn't behave the way you assumed 😭 read the room (and the docs) first 🫢

πŸ”₯ CHARACTER TABLE

the following table is sorted in the same order as the original charmap β€” no reordering, no creative liberties, we respect the source ✨

all character codes are in hexadecimal, okay? hex. not decimal, not vibes. πŸ”’

and one more thing: please read 'ISO-10646' as 'ISO-10646-UCS4'. same energy, different name tag πŸ’–

okay so the table. it's long. it's iconic. we're doing it. πŸ’…

here's how to read it: first column = the <pink>local</pink> byte, second column = the `ISO-10646</> code point it maps to, third column = the actual name of the character. do not lose your place, bestie, use a finger if you have to. 🫢

 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)
    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)
    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 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
    85 |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
    86 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
    87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
    88 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
    89 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
    8A |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
    8B |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
    8C |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
    8D |  000000EC | LATIN SMALL LETTER I WITH GRAVE
    8E |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
    8F |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
    90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
    91 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
    92 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
    93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
    94 |  000000F5 | LATIN SMALL LETTER O WITH TILDE
    95 |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
    96 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
    97 |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
    98 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
    99 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
    9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
    9B |  000000A2 | CENT SIGN
    9C |  000000A3 | POUND SIGN
    9D |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
    9E |  000020A7 | PESETA SIGN
    9F |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
    A0 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
    A1 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
    A2 |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
    A3 |  000000FA | LATIN SMALL LETTER U WITH ACUTE
    A4 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
    A5 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
    A6 |  000000AA | FEMININE ORDINAL INDICATOR
    A7 |  000000BA | MASCULINE ORDINAL INDICATOR
    A8 |  000000BF | INVERTED QUESTION MARK
    A9 |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
    AA |  000000AC | NOT SIGN
    AB |  000000BD | VULGAR FRACTION ONE HALF
    AC |  000000BC | VULGAR FRACTION ONE QUARTER
    AD |  000000A1 | INVERTED EXCLAMATION MARK
    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 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
    B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
    B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
    B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
    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 |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
    BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
    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 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
    C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
    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 |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
    D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
    D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
    D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
    D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
    D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
    D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
    D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
    D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
    D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
    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 |  0000258C | LEFT HALF BLOCK
    DE |  00002590 | RIGHT HALF BLOCK
    DF |  00002580 | UPPER HALF BLOCK
    E0 |  000003B1 | GREEK SMALL LETTER ALPHA

okay so real talk, that was a lot of rows and we're only up to <hotpink>E0</>. let me point out the little moments so you actually appreciate this table instead of scrolling past it like a hater 😭

  • 00–1F β€” the control characters zone. NULL (NUL) through UNIT SEPARATOR (IS1). these are the ones that don't look like anything but absolutely run the whole show. 07 is BELL (BEL), 1B is ESCAPE (ESC), 0A is LINE FEED (LF) β€” yes bestie, the newline lives here. queen behavior. πŸ‘‘
  • 20–7E β€” from SPACE all the way to TILDE, alphabetically the most normal-looking stretch: the punctuation (EXCLAMATION MARK, QUESTION MARK, COMMERCIAL AT), the DIGIT ZERO through DIGIT NINE run, LATIN CAPITAL LETTER A through LATIN CAPITAL LETTER Z, then LATIN SMALL LETTER A through LATIN SMALL LETTER Z. a whole little civilization in there fr fr.
  • 7F β€” DELETE (DEL), sitting alone between the calm and the chaos. main character energy honestly. πŸ’€
  • 80–9F β€” the accented letters + currency neighborhood: LATIN CAPITAL LETTER C WITH CEDILLA, LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER E WITH ACUTE... and then out of nowhere 9B CENT SIGN, 9C POUND SIGN, and 9E PESETA SIGN. the way 9E is the only one here jumping to 000020A7 and not a 000000xx address β€” she's quirky, we love her. ✨
  • A0–AF β€” INVERTED QUESTION MARK, INVERTED EXCLAMATION MARK, VULGAR FRACTION ONE HALF, VULGAR FRACTION ONE QUARTER, plus the FEMININE ORDINAL INDICATOR and MASCULINE ORDINAL INDICATOR duo. punctuation with attitude, lowkey the funnest block in the whole table. πŸŽ€
  • B0–DF β€” the box drawing era. LIGHT SHADE, MEDIUM SHADE, DARK SHADE, then so many BOX DRAWINGS ... entries β€” LIGHT VERTICAL, DOUBLE HORIZONTAL, the whole SINGLE/DOUBLE crossover saga β€” and it wraps with FULL BLOCK, LOWER HALF BLOCK, LEFT HALF BLOCK, RIGHT HALF BLOCK, UPPER HALF BLOCK. this is the section people build entire terminal art out of. iykyk πŸ¦‹
  • E0 β€” GREEK SMALL LETTER ALPHA, and then the table just... stops. rude?? we were invested. πŸ™ˆ

and that's not even the end of the page, we're still going β€” so keep your place, don't close the tab, we got more rows coming 🌸

  • E1 β†’ 000000DF β€” LATIN SMALL LETTER SHARP S (German) πŸ‡©πŸ‡ͺ
  • E2 β†’ 00000393 β€” GREEK CAPITAL LETTER GAMMA
  • E3 β†’ 000003C0 β€” GREEK SMALL LETTER PI πŸ₯§
  • E4 β†’ 000003A3 β€” GREEK CAPITAL LETTER SIGMA
  • E5 β†’ 000003C3 β€” GREEK SMALL LETTER SIGMA
  • E6 β†’ 000000B5 β€” MICRO SIGN
  • E7 β†’ 000003C4 β€” GREEK SMALL LETTER TAU
  • E8 β†’ 000003A6 β€” GREEK CAPITAL LETTER PHI
  • E9 β†’ 00000398 β€” GREEK CAPITAL LETTER THETA
  • EA β†’ 000003A9 β€” GREEK CAPITAL LETTER OMEGA
  • EB β†’ 000003B4 β€” GREEK SMALL LETTER DELTA
  • EC β†’ 0000221E β€” INFINITY ♾️
  • ED β†’ 000003C6 β€” GREEK SMALL LETTER PHI
  • EE β†’ 000003B5 β€” GREEK SMALL LETTER EPSILON
  • EF β†’ 00002229 β€” INTERSECTION
  • F0 β†’ 00002261 β€” IDENTICAL TO
  • F1 β†’ 000000B1 β€” PLUS-MINUS SIGN
  • F2 β†’ 00002265 β€” GREATER-THAN OR EQUAL TO
  • F3 β†’ 00002264 β€” LESS-THAN OR EQUAL TO
  • F4 β†’ 00002320 β€” TOP HALF INTEGRAL
  • F5 β†’ 00002321 β€” BOTTOM HALF INTEGRAL
  • F6 β†’ 000000F7 β€” DIVISION SIGN
  • F7 β†’ 00002248 β€” ALMOST EQUAL TO
  • F8 β†’ 000000B0 β€” DEGREE SIGN
  • F9 β†’ 00002219 β€” BULLET OPERATOR
  • FA β†’ 000000B7 β€” MIDDLE DOT
  • FB β†’ 0000221A β€” SQUARE ROOT
  • FC β†’ 0000207F β€” SUPERSCRIPT LATIN SMALL LETTER N
  • FD β†’ 000000B2 β€” SUPERSCRIPT TWO
  • FE β†’ 000025A0 β€” BLACK SQUARE
  • FF β†’ 000000A0 β€” NO-BREAK SPACE (the sneaky invisible one, lowkey the main character of whitespace πŸ’…)

🫢 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 credit goes to Guido, bestie β€” he made this whole thing and it's genuinely iconic of him πŸ’–


🌈 SEE ALSO 🌈

Go read those next if you want the full lore, iykyk ✨

and that's the whole page, bestie β€” you made it to the end πŸŽ€ This little masterpiece comes to you from perl v5.42.0, dated 2025-01-22, and honestly? slay 🌸 Go forth and encode responsibly πŸ¦‹