Locale:...:IBM862(3)
π NAME
Locale::RecodeData::IBM862 β conversion routines for IBM862 π
(yeah bestie, this is the IBM862(3) page, living under User Contributed Perl Documentation β we love a humble icon π)
β¨ SYNOPSIS β¨
This module is internal to libintl. Do not use directly!
Okay so real talk: this module is internal to libintl. Do not use directly! Like, it's giving backstage-pass-only energy β you're not supposed to walk up in there and start calling things yourself, no cap π
πΈ DESCRIPTION πΈ
This module is generated β yes, a robot made it, not a human typing away at 3am π§ β and it contains the conversion tables and routines for IBM862.
So basically: tables + routines, both in one little package. That's the whole vibe check. β¨
π COMMENTS π
These comments got lifted straight out of the original charmap, and I'm putting them here verbatim because I would never gatekeep:
version: 1.0
source: IBM NLS RM Vol2 SE09-8002-01, March 1990
alias CP862
alias 862
So we've got version 1.0, and the source is IBM NLS RM Vol2 SE09-8002-01, March 1990 β vintage, honestly, a real 1990 moment π°οΈ And then there are two aliases: CP862 and 862. π
β οΈ Please note β and this is important, bestie β that the aliases listed above are not necessarily valid! So don't come for me if you use them and it doesn't slay. They're just, like, what the charmap said. π
π¦ CHARACTER TABLE π¦
Okay so the following table is sorted in the same order as the original charmap β same order, no reorganisation, we respect the source in this house π
All character codes are in hexadecimal. Yes, all of them. Every single one. π₯
And one thing you must know before reading it: please read 'ISO-10646' as 'ISO-10646-UCS4'. It's just a naming thing, but like, it matters, iykyk. π
The table itself is coming up next, so stay with me β β¨
okay bestie, table time π three columns β the local byte, the ISO-10646 code point it maps to, and the name. read it like a menu, it's genuinely so satisfying how tidy it is.
π the control codes (0x00β0x1F)
first chunk is all vibes and no visible characters β these are your control codes, the backstage crew of the character set:
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)
look at 07 β that's BELL, BEL, the actual reason your terminal can go ding π iconic honestly. and 1Cβ1F are the separator girlies: IS4, IS3, IS2, IS1, in that order, descending, going out with a whimper.
β¨ the ASCII stretch (0x20β0x7F)
and now the part you actually recognise. bestie, every single one of these has the exact same value in both columns β local byte and code point match, no translation drama, we love a stable queen:
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)
not 2D being called HYPHEN-MINUS β pick a lane bestie π and 7F closes it out as DELETE (DEL), the original "get out of my sight" character. 40 is COMMERCIAL AT which is such a corporate way to say @ ngl π«Ά
π the Hebrew block (0x80β0x9A)
and then boom β the table switches personalities completely. from 80 onwards we're in Hebrew letter territory:
80 | 000005D0 | HEBREW LETTER ALEF
81 | 000005D1 | HEBREW LETTER BET
82 | 000005D2 | HEBREW LETTER GIMEL
83 | 000005D3 | HEBREW LETTER DALET
84 | 000005D4 | HEBREW LETTER HE
85 | 000005D5 | HEBREW LETTER VAV
86 | 000005D6 | HEBREW LETTER ZAYIN
87 | 000005D7 | HEBREW LETTER HET
88 | 000005D8 | HEBREW LETTER TET
89 | 000005D9 | HEBREW LETTER YOD
8A | 000005DA | HEBREW LETTER FINAL KAF
8B | 000005DB | HEBREW LETTER KAF
8C | 000005DC | HEBREW LETTER LAMED
8D | 000005DD | HEBREW LETTER FINAL MEM
8E | 000005DE | HEBREW LETTER MEM
8F | 000005DF | HEBREW LETTER FINAL NUN
90 | 000005E0 | HEBREW LETTER NUN
91 | 000005E1 | HEBREW LETTER SAMEKH
92 | 000005E2 | HEBREW LETTER AYIN
93 | 000005E3 | HEBREW LETTER FINAL PE
94 | 000005E4 | HEBREW LETTER PE
95 | 000005E5 | HEBREW LETTER FINAL TSADI
96 | 000005E6 | HEBREW LETTER TSADI
97 | 000005E7 | HEBREW LETTER QOF
98 | 000005E8 | HEBREW LETTER RESH
99 | 000005E9 | HEBREW LETTER SHIN
9A | 000005EA | HEBREW LETTER TAV
okay the "FINAL" girlies are lowkey the main characters here β 8A FINAL KAF, 8D FINAL MEM, 8F FINAL NUN, 93 FINAL PE, 95 FINAL TSADI β they get their own code points and honestly they earned it π
also clock that these all jump up to 000005D0β000005EA, a completely different neighbourhood from the ASCII part.
π¦ the currency + punctuation moment (0x9Bβ0xAF)
after TAV the table swerves hard into money, accents and typography:
9B | 000000A2 | CENT SIGN
9C | 000000A3 | POUND SIGN
9D | 000000A5 | YEN SIGN
9E | 000020A7 | PESETA SIGN
9F | 00000192 | LATIN SMALL LETTER F WITH HOOK
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 | 00002310 | REVERSED NOT SIGN
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
AB and AC are literally named VULGAR FRACTION ONE HALF and VULGAR FRACTION ONE QUARTER β vulgar!! the Unicode naming committee was in a MOOD π and A9 REVERSED NOT SIGN sitting right next to AA NOT SIGN is giving sibling energy fr fr.
π the box drawing era (0xB0β0xDF)
okay this is the part where the table becomes an ART PROJECT. shades first, then every box drawing combination known to humanity:
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
the way every single one of these is BOX DRAWINGS plus two directions, in a different word order each time, is HIGHKEY sending me π SINGLE AND LEFT DOUBLE vs DOUBLE AND LEFT SINGLE β miss ma'am, that's a whole tongue twister. and then DBβDF switch it up into the block girls: FULL BLOCK, LOWER HALF BLOCK, LEFT HALF BLOCK, RIGHT HALF BLOCK, UPPER HALF BLOCK π§± this is the era of making boxes in a text file and feeling like a graphic designer, no cap.
πΈ the Greek finale (0xE0β0xE8)
and the chunk we got here ends on some Greek letters plus a couple of stragglers:
E0 | 000003B1 | GREEK SMALL LETTER ALPHA
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
scream it with me: GREEK SMALL LETTER SIGMA at E5 and GREEK CAPITAL LETTER SIGMA at E4 β capital comes FIRST, lowercase after, which is such a chaotic choice and I respect it π also E1 is out here as LATIN SMALL LETTER SHARP S (German) breaking up the Greek party, and E6 is the MICRO SIGN π
aaand that's where this part of the table cuts off at E8 β there's more coming bestie, don't go anywhere π
E9β00000398β GREEK CAPITAL LETTER THETA π (she's giving math-class main character energy)EAβ000003A9β GREEK CAPITAL LETTER OMEGA π (the final boss of letters, periodt)EBβ000003B4β GREEK SMALL LETTER DELTA β¨ECβ0000221Eβ INFINITY π (fr fr, no end)EDβ000003C6β GREEK SMALL LETTER PHI π¦EEβ000003B5β GREEK SMALL LETTER EPSILON πΈEFβ00002229β INTERSECTION πF0β00002261β IDENTICAL TO π (twinning, literally)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 π§ (her other half, we stan a matched set)F6β000000F7β DIVISION SIGN πF7β00002248β ALMOST EQUAL TO π (so close bestie)F8β000000B0β DEGREE SIGN βοΈF9β00002219β BULLET OPERATOR πFAβ000000B7β MIDDLE DOT πFBβ0000221Aβ SQUARE ROOT π±FCβ0000207Fβ SUPERSCRIPT LATIN SMALL LETTER n β¨ (tiny little n, obsessed)FDβ000000B2β SUPERSCRIPT TWO πFEβ000025A0β BLACK SQUARE π€FFβ000000A0β NO-BREAK SPACE π«Ά (the quiet icon of the whole table, lowkey the most important one here)
π 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 bestie that double "details" is literally how it's printed in the original β I'm not gonna gaslight you and pretend it isn't there π
π¦ SEE ALSO π¦
Locale::RecodeData(3)πLocale::Recode(3)β¨perl(1)π
okay that's the whole thing, you made it to the end, I'm so proud of you π«Άπ go forth and convert your charsets, you absolute icon π
this page is perl v5.42.0, dated 2025-01-22, and it's filed under Locale:...:IBM862(3) β mwah, slay, no cap π
β¨
π¦ 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