Locale:...:IBM905(3)
π NAME π
Locale::RecodeData::IBM905 β ok so this one's about conversion routines for IBM905, and yes bestie the manual name is IBM905(3), we're in section 3 territory π
β¨ SYNOPSIS β¨
This module is internal to libintl. Do not use directly!
Read that again, bestie. It's giving hands off, this is not for you energy π It's internal to libintl, so likeβ¦ do not use it directly. Periodt.
π¦ DESCRIPTION π¦
So this module is generated β not hand-written, it's a whole machine-made situation β and what it's got inside is the conversion tables and routines for IBM905. That's the whole vibe. Tables + routines, generated, for IBM905. Slay π
πΈ COMMENTS πΈ
The following comments have been extracted from the original charmap, and honestly? Little historical artifacts, we love to see them:
version: 1.0
source: IBM 3174 Character Set Ref, GA27-3831-02, March 1990
alias CP905
alias EBCDIC-CP-TR
β οΈ Okay important little note before you go anywhere with those: the aliases listed above are not necessarily valid! Like, they're in the charmap, but that does not mean you should trust them, iykyk π
π CHARACTER TABLE π
The following table is sorted in the same order as the original charmap β same order, no reshuffling, we respect the source. All character codes are in hexadecimal, so keep that in mind when you're reading it.
Also, tiny translation note: please read ISO-10646 as ISO-10646-UCS4. Like, when you see the former, think the latter β¨ That's the reading comprehension check and you passed it, bestie π«Ά
Okay so here's where it gets actually juicy β the character table itself. Three columns, bestie: Local (the byte you'd see in this encoding), ISO-10646 (the universal code point it maps to), and Description (what it actually is). Read it like a Rosetta Stone. π
The 00β3F block: control-character chaos era ποΈ
Look at this mess and tell me it isn't iconic. 04 is STRING TERMINATOR (ST) mapping to 0000009C, but 05 is a plain old CHARACTER TABULATION (HT) at 00000009. And 07?? That's DELETE (DEL) living at 0000007F while 16 is BACKSPACE (BS) up at 00000008. The vibes are β¨ scrambled β¨ and that's just how IBM905 rolls.
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 | 0000009C | STRING TERMINATOR (ST)
05 | 00000009 | CHARACTER TABULATION (HT)
06 | 00000086 | START OF SELECTED AREA (SSA)
07 | 0000007F | DELETE (DEL)
08 | 00000097 | END OF GUARDED AREA (EPA)
09 | 0000008D | REVERSE LINE FEED (RI)
0A | 0000008E | SINGLE-SHIFT TWO (SS2)
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 | 0000009D | OPERATING SYSTEM COMMAND (OSC)
15 | 00000085 | NEXT LINE (NEL)
16 | 00000008 | BACKSPACE (BS)
17 | 00000087 | END OF SELECTED AREA (ESA)
18 | 00000018 | CANCEL (CAN)
19 | 00000019 | END OF MEDIUM (EM)
1A | 00000092 | PRIVATE USE TWO (PU2)
1B | 0000008F | SINGLE-SHIFT THREE (SS3)
1C | 0000001C | FILE SEPARATOR (IS4)
1D | 0000001D | GROUP SEPARATOR (IS3)
1E | 0000001E | RECORD SEPARATOR (IS2)
1F | 0000001F | UNIT SEPARATOR (IS1)
20 | 00000080 | PADDING CHARACTER (PAD)
21 | 00000081 | HIGH OCTET PRESET (HOP)
22 | 00000082 | BREAK PERMITTED HERE (BPH)
23 | 00000083 | NO BREAK HERE (NBH)
24 | 00000084 | INDEX (IND)
25 | 0000000A | LINE FEED (LF)
26 | 00000017 | END OF TRANSMISSION BLOCK (ETB)
27 | 0000001B | ESCAPE (ESC)
28 | 00000088 | CHARACTER TABULATION SET (HTS)
29 | 00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
2A | 0000008A | LINE TABULATION SET (VTS)
2B | 0000008B | PARTIAL LINE FORWARD (PLD)
2C | 0000008C | PARTIAL LINE BACKWARD (PLU)
2D | 00000005 | ENQUIRY (ENQ)
2E | 00000006 | ACKNOWLEDGE (ACK)
2F | 00000007 | BELL (BEL)
30 | 00000090 | DEVICE CONTROL STRING (DCS)
31 | 00000091 | PRIVATE USE ONE (PU1)
32 | 00000016 | SYNCHRONOUS IDLE (SYN)
33 | 00000093 | SET TRANSMIT STATE (STS)
34 | 00000094 | CANCEL CHARACTER (CCH)
35 | 00000095 | MESSAGE WAITING (MW)
36 | 00000096 | START OF GUARDED AREA (SPA)
37 | 00000004 | END OF TRANSMISSION (EOT)
38 | 00000098 | START OF STRING (SOS)
39 | 00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
3A | 0000009A | SINGLE CHARACTER INTRODUCER (SCI)
3B | 0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
3C | 00000014 | DEVICE CONTROL FOUR (DC4)
3D | 00000015 | NEGATIVE ACKNOWLEDGE (NAK)
3E | 0000009E | PRIVACY MESSAGE (PM)
3F | 0000001A | SUBSTITUTE (SUB)
Likeβ¦ 2F is BELL (BEL) at 00000007 and 3C is DEVICE CONTROL FOUR (DC4) at 00000014. No cap, this block is giving "old terminal goblin energy" and I am obsessed. ππ
The 40β7F block: bestie, we have LETTERS π
This is where it starts feeling like an actual alphabet instead of a robot screaming. 40 kicks off with plain SPACE at 00000020, and then boom β 42 is LATIN SMALL LETTER A WITH CIRCUMFLEX (000000E2), 43 is LATIN SMALL LETTER A WITH DIAERESIS (000000E4), 44 is LATIN SMALL LETTER A WITH GRAVE (000000E0)β¦ the accented vowels ate and left no crumbs. π
Heads up though: peep the gaps.41,46,66, and70justβ¦ aren't in the table. Not me noticing empty seats at the function π β I'm just reading what's here, bestie.
40 | 00000020 | SPACE
42 | 000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
43 | 000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
44 | 000000E0 | LATIN SMALL LETTER A WITH GRAVE
45 | 000000E1 | LATIN SMALL LETTER A WITH ACUTE
47 | 0000010B | LATIN SMALL LETTER C WITH DOT ABOVE
48 | 0000007B | LEFT CURLY BRACKET
49 | 000000F1 | LATIN SMALL LETTER N WITH TILDE
4A | 000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
4B | 0000002E | FULL STOP
4C | 0000003C | LESS-THAN SIGN
4D | 00000028 | LEFT PARENTHESIS
4E | 0000002B | PLUS SIGN
4F | 00000021 | EXCLAMATION MARK
50 | 00000026 | AMPERSAND
51 | 000000E9 | LATIN SMALL LETTER E WITH ACUTE
52 | 000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
53 | 000000EB | LATIN SMALL LETTER E WITH DIAERESIS
54 | 000000E8 | LATIN SMALL LETTER E WITH GRAVE
55 | 000000ED | LATIN SMALL LETTER I WITH ACUTE
56 | 000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
57 | 000000EF | LATIN SMALL LETTER I WITH DIAERESIS
58 | 000000EC | LATIN SMALL LETTER I WITH GRAVE
59 | 000000DF | LATIN SMALL LETTER SHARP S (German)
5A | 0000011E | LATIN CAPITAL LETTER G WITH BREVE
5B | 00000130 | LATIN CAPITAL LETTER I WITH DOT ABOVE
5C | 0000002A | ASTERISK
5D | 00000029 | RIGHT PARENTHESIS
5E | 0000003B | SEMICOLON
5F | 0000005E | CIRCUMFLEX ACCENT
60 | 0000002D | HYPHEN-MINUS
61 | 0000002F | SOLIDUS
62 | 000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
63 | 000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
64 | 000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
65 | 000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
67 | 0000010A | LATIN CAPITAL LETTER C WITH DOT ABOVE
68 | 0000005B | LEFT SQUARE BRACKET
69 | 000000D1 | LATIN CAPITAL LETTER N WITH TILDE
6A | 0000015F | LATIN SMALL LETTER S WITH CEDILLA
6B | 0000002C | COMMA
6C | 00000025 | PERCENT SIGN
6D | 0000005F | LOW LINE
6E | 0000003E | GREATER-THAN SIGN
6F | 0000003F | QUESTION MARK
71 | 000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
72 | 000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
73 | 000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
74 | 000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
75 | 000000CD | LATIN CAPITAL LETTER I WITH ACUTE
76 | 000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
77 | 000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
78 | 000000CC | LATIN CAPITAL LETTER I WITH GRAVE
79 | 00000131 | LATIN SMALL LETTER DOTLESS I
7A | 0000003A | COLON
7B | 000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
7C | 0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
7D | 00000027 | APOSTROPHE
7E | 0000003D | EQUALS SIGN
7F | 000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
59 being LATIN SMALL LETTER SHARP S (German) at 000000DF?? The German representation is served, honestly. π₯¨ And 79 is LATIN SMALL LETTER DOTLESS I at 00000131 β main character energy for a letter with no dot, fr fr.
The 80βBF block: lowercase era, we love to see it π¦
80 opens with BREVE at 000002D8 and then 81 through 89 is justβ¦ a b c d e f g h i in a row like a little parade. 81 LATIN SMALL LETTER A, 82 LATIN SMALL LETTER B, all the way down. The way that the alphabet just lines up here β screaming, crying, throwing up (affectionately). ππ
80 | 000002D8 | BREVE
81 | 00000061 | LATIN SMALL LETTER A
82 | 00000062 | LATIN SMALL LETTER B
83 | 00000063 | LATIN SMALL LETTER C
84 | 00000064 | LATIN SMALL LETTER D
85 | 00000065 | LATIN SMALL LETTER E
86 | 00000066 | LATIN SMALL LETTER F
87 | 00000067 | LATIN SMALL LETTER G
88 | 00000068 | LATIN SMALL LETTER H
89 | 00000069 | LATIN SMALL LETTER I
8A | 00000127 | LATIN SMALL LETTER H WITH STROKE
8B | 00000109 | LATIN SMALL LETTER C WITH CIRCUMFLEX
8C | 0000015D | LATIN SMALL LETTER S WITH CIRCUMFLEX
8D | 0000016D | LATIN SMALL LETTER U WITH BREVE
8F | 0000007C | VERTICAL LINE
90 | 000000B0 | DEGREE SIGN
91 | 0000006A | LATIN SMALL LETTER J
92 | 0000006B | LATIN SMALL LETTER K
93 | 0000006C | LATIN SMALL LETTER L
94 | 0000006D | LATIN SMALL LETTER M
95 | 0000006E | LATIN SMALL LETTER N
96 | 0000006F | LATIN SMALL LETTER O
97 | 00000070 | LATIN SMALL LETTER P
98 | 00000071 | LATIN SMALL LETTER Q
99 | 00000072 | LATIN SMALL LETTER R
9A | 00000125 | LATIN SMALL LETTER H WITH CIRCUMFLEX
9B | 0000011D | LATIN SMALL LETTER G WITH CIRCUMFLEX
9C | 00000135 | LATIN SMALL LETTER J WITH CIRCUMFLEX
9D | 000002DB | OGONEK
9F | 000000A4 | CURRENCY SIGN
A0 | 000000B5 | MICRO SIGN
A1 | 000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
A2 | 00000073 | LATIN SMALL LETTER S
A3 | 00000074 | LATIN SMALL LETTER T
A4 | 00000075 | LATIN SMALL LETTER U
A5 | 00000076 | LATIN SMALL LETTER V
A6 | 00000077 | LATIN SMALL LETTER W
A7 | 00000078 | LATIN SMALL LETTER X
A8 | 00000079 | LATIN SMALL LETTER Y
A9 | 0000007A | LATIN SMALL LETTER Z
AA | 00000126 | LATIN CAPITAL LETTER H WITH STROKE
AB | 00000108 | LATIN CAPITAL LETTER C WITH CIRCUMFLEX
AC | 0000015C | LATIN CAPITAL LETTER S WITH CIRCUMFLEX
AD | 0000016C | LATIN CAPITAL LETTER U WITH BREVE
AF | 00000040 | COMMERCIAL AT
B0 | 000000B7 | MIDDLE DOT
B1 | 000000A3 | POUND SIGN
B2 | 0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
B3 | 0000007D | RIGHT CURLY BRACKET
B4 | 0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
B5 | 000000A7 | SECTION SIGN
B6 | 0000005D | RIGHT SQUARE BRACKET
B8 | 000000BD | VULGAR FRACTION ONE HALF
B9 | 00000024 | DOLLAR SIGN
BA | 00000124 | LATIN CAPITAL LETTER H WITH CIRCUMFLEX
BB | 0000011C | LATIN CAPITAL LETTER G WITH CIRCUMFLEX
BC | 00000134 | LATIN CAPITAL LETTER J WITH CIRCUMFLEX
BD | 000000A8 | DIAERESIS
BE | 000000B4 | ACUTE ACCENT
BF | 000000D7 | MULTIPLICATION SIGN
8E, 9E, AE, B7 β again, not in the table. I'm not making it up, I'm just reporting the receipts. π§Ύ Also B9 is DOLLAR SIGN at 00000024 and B8 is VULGAR FRACTION ONE HALF at 000000BD β money and math living side by side, slay. πΈ
The C0βEB block: capital letters took over the party π
C1 through C9 is literally LATIN CAPITAL LETTER A through LATIN CAPITAL LETTER I β 41, 42, 43, 44, 45, 46, 47, 48, 49. Then CA is SOFT HYPHEN (000000AD) because even the capitals need a lil break. π«Ά And E2βE9 gives us S, T, U, V, W, X, Y, Z β the whole squad assembled, no notes.
C0 | 000000E7 | LATIN SMALL LETTER C WITH CEDILLA
C1 | 00000041 | LATIN CAPITAL LETTER A
C2 | 00000042 | LATIN CAPITAL LETTER B
C3 | 00000043 | LATIN CAPITAL LETTER C
C4 | 00000044 | LATIN CAPITAL LETTER D
C5 | 00000045 | LATIN CAPITAL LETTER E
C6 | 00000046 | LATIN CAPITAL LETTER F
C7 | 00000047 | LATIN CAPITAL LETTER G
C8 | 00000048 | LATIN CAPITAL LETTER H
C9 | 00000049 | LATIN CAPITAL LETTER I
CA | 000000AD | SOFT HYPHEN
CB | 000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
CC | 0000007E | TILDE
CD | 000000F2 | LATIN SMALL LETTER O WITH GRAVE
CE | 000000F3 | LATIN SMALL LETTER O WITH ACUTE
CF | 00000121 | LATIN SMALL LETTER G WITH DOT ABOVE
D0 | 0000011F | LATIN SMALL LETTER G WITH BREVE
D1 | 0000004A | LATIN CAPITAL LETTER J
D2 | 0000004B | LATIN CAPITAL LETTER K
D3 | 0000004C | LATIN CAPITAL LETTER L
D4 | 0000004D | LATIN CAPITAL LETTER M
D5 | 0000004E | LATIN CAPITAL LETTER N
D6 | 0000004F | LATIN CAPITAL LETTER O
D7 | 00000050 | LATIN CAPITAL LETTER P
D8 | 00000051 | LATIN CAPITAL LETTER Q
D9 | 00000052 | LATIN CAPITAL LETTER R
DA | 00000060 | GRAVE ACCENT
DB | 000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
DC | 0000005C | REVERSE SOLIDUS
DD | 000000F9 | LATIN SMALL LETTER U WITH GRAVE
DE | 000000FA | LATIN SMALL LETTER U WITH ACUTE
E0 | 000000FC | LATIN SMALL LETTER U WITH DIAERESIS
E1 | 000000F7 | DIVISION SIGN
E2 | 00000053 | LATIN CAPITAL LETTER S
E3 | 00000054 | LATIN CAPITAL LETTER T
E4 | 00000055 | LATIN CAPITAL LETTER U
E5 | 00000056 | LATIN CAPITAL LETTER V
E6 | 00000057 | LATIN CAPITAL LETTER W
E7 | 00000058 | LATIN CAPITAL LETTER X
E8 | 00000059 | LATIN CAPITAL LETTER Y
E9 | 0000005A | LATIN CAPITAL LETTER Z
EA | 000000B2 | SUPERSCRIPT TWO
EB | 000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
DC being REVERSE SOLIDUS at 0000005C and E1 being DIVISION SIGN at 000000F7 β punctuation and math just vibing in the capital-letter section, iykyk. β¨
And bestie, we are not done β the table keeps going past EB. Stay with me. π
EC|00000023| NUMBER SIGN β the humble hashtag, living her best life πED|000000D2| LATIN CAPITAL LETTER O WITH GRAVE β Γ said what she said πEE|000000D3| LATIN CAPITAL LETTER O WITH ACUTE β Γ, her sharper sister β¨EF|00000120| LATIN CAPITAL LETTER G WITH DOT ABOVE β a G with accessories, obsessed πF0|00000030| DIGIT ZEROF1|00000031| DIGIT ONEF2|00000032| DIGIT TWOF3|00000033| DIGIT THREEF4|00000034| DIGIT FOURF5|00000035| DIGIT FIVEF6|00000036| DIGIT SIXF7|00000037| DIGIT SEVENF8|00000038| DIGIT EIGHTF9|00000039| DIGIT NINE
okay bestie the whole digit squad just showed up in order, F0 through F9, no cap β they ate and left zero crumbs π₯
FA|000000B3| SUPERSCRIPT THREE β tiny Β³, main character energy ngl πFB|000000DB| LATIN CAPITAL LETTER U WITH CIRCUMFLEX β Γ with the little hat πFC|00000022| QUOTATION MARK β yes, this is the actual"and likeβ¦ she's iconic for that πFD|000000D9| LATIN CAPITAL LETTER U WITH GRAVE β Γ, lowkey dramatic πFE|000000DA| LATIN CAPITAL LETTER U WITH ACUTE β Γ, highkey slaying β¨FF|0000009F| APPLICATION PROGRAM COMMAND (APC) β the final boss of the table, and it's a control character π
and that's the whole table, 00 all the way to FF, every last one accounted for π¦
πΈ 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, respect the author bestie, they built the whole thing π«Ά
π SEE ALSO π
go read those next, iykyk πβ¨
and that's the whole page, bestie β you made it to the end π this one's from perl v5.42.0, dated 2025-01-22, and yeah, the little header says Locale:...:IBM905(3) in case you forgot already π go forth and decode your IBM905 bytes, mwah π§π
π¦ 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