It's ok for me, it's always fun to think about the problems other people have;
sooner or later, they may be yours ...

I started to write a Pascal program using my Stanford compiler;
I fed it with two code tables in a format which I downloaded some time ago from an IBM site (IIRC).
I tried to attach the two files (don't know, if this will work here).
See CP00037 for a certain EBCDIC code page and CP01252 for the normal Windows code page;
the characters match, when their NAME is the same in both tables.

The program first reads the code table (files), then it builds the translation table, and then it is ready to process the REAL input file. This way it can do every desired code translation
(given the two source and target codepage files).

If you are interested in the result, contact me offline.

Kind regards

Bernd


Am 29.12.2020 um 22:29 schrieb R.S.:
Yes, exactly.
This is one of the reasons for custom-defined table.
Custom-defined is not "standard"
And yes, the goal is to change selected characters, and prepare the opposite table. Of course translation can be reversible when the table has unique values (this is first of the conditions) . So, for example it can be A->B translation, but B has to be translated as well, let's say B->A. That would change ADAM BROWN to BDBM AROWN (assuming other characters are not translated), but it reversible. Let's say translation A -> B and B unchanged would give BDBM BROWN and there is no way to find out which character need to be reversed.


BTW: I feel guilty a little bit. I just asked simple question and paid attention of many gentlemen here. I hope the attention is not just to solve my boring, rather off-topic issue, rather there is nothing interesting to do instead. ;-)

However thank you all for your help!



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
* ----------------------------------------------------------------------
* Copyright IBM Corporation 1986. All rights reserved.
* C-H 3-3220-050       : REGISTRY, Graphic Character Sets and Code Pages
* Code Page (CPGID)    : 00037
* Common Name          : USA/Canada - CECP
* Registration Date    : 1986
* Last Revision Date   :
* Default Encoding     : 1100
* Code                 : EBCDIC
* Maximal Character
* Set (GCSGID)         : 00697
* Other GCSGIDs        : 00001, 00002, 00003, 00004, 00005,
*                        00006, 00007, 00008, 00009, 00019,
*                        00024, 00025, 00026, 00027, 00028,
*                        00029, 00031, 00032, 00033,
*                        00036, 00037, 00038, 00039, 00041,
*                        00044, 00046, 00047, 00048, 00049,
*                        00051, 00052, 00053, 00054, 00055,
*                        00056, 00057, 01170, 01175
* ----------------------------------------------------------------------
*- GCGID --------- GCGID Name ------------------------------------------
40 SP010000        Space
41 SP300000        Required Space
42 LA150000        a Circumflex Small
43 LA170000        a Diaeresis Small
44 LA130000        a Grave Small
45 LA110000        a Acute Small
46 LA190000        a Tilde Small
47 LA270000        a Overcircle Small
48 LC410000        c Cedilla Small
49 LN190000        n Tilde Small
4A SC040000        Cent Sign
4B SP110000        Period/Full Stop
4C SA030000        Less Than Sign/Greater Than Sign (Arabic)
4D SP060000        Left Parenthesis
4E SA010000        Plus Sign
4F SM130000        Vertical Line/Logical OR
50 SM030000        Ampersand
51 LE110000        e Acute Small
52 LE150000        e Circumflex Small
53 LE170000        e Diaeresis Small
54 LE130000        e Grave Small
55 LI110000        i Acute Small
56 LI150000        i Circumflex Small
57 LI170000        i Diaeresis Small
58 LI130000        i Grave Small
59 LS610000        Sharp s Small
5A SP020000        Exclamation Point
5B SC030000        Dollar Sign
5C SM040000        Asterisk
5D SP070000        Right Parenthesis
5E SP140000        Semicolon
5F SM660000        Logical NOT/End Of Line Symbol
60 SP100000        Hyphen/Minus Sign
61 SP120000        Slash
62 LA160000        A Circumflex Capital
63 LA180000        A Diaeresis Capital
64 LA140000        A Grave Capital
65 LA120000        A Acute Capital
66 LA200000        A Tilde Capital
67 LA280000        A Overcircle Capital
68 LC420000        C Cedilla Capital
69 LN200000        N Tilde Capital
6A SM650000        Vertical Line, Broken
6B SP080000        Comma
6C SM020000        Percent Sign
6D SP090000        Underline/Continuous Underscore
6E SA050000        Greater Than Sign/Less Than Sign (Arabic)
6F SP150000        Question Mark
70 LO610000        o Slash Small
71 LE120000        E Acute Capital
72 LE160000        E Circumflex Capital
73 LE180000        E Diaeresis Capital
74 LE140000        E Grave Capital
75 LI120000        I Acute Capital
76 LI160000        I Circumflex Capital
77 LI180000        I Diaeresis Capital
78 LI140000        I Grave Capital
79 SD130000        Grave Accent
7A SP130000        Colon
7B SM010000        Number Sign
7C SM050000        At Sign
7D SP050000        Apostrophe
7E SA040000        Equal Sign
7F SP040000        Quotation Marks
80 LO620000        O Slash Capital
81 LA010000        a Small
82 LB010000        b Small
83 LC010000        c Small
84 LD010000        d Small
85 LE010000        e Small
86 LF010000        f Small
87 LG010000        g Small
88 LH010000        h Small
89 LI010000        i Small
8A SP170000        Left Angle Quotes
8B SP180000        Right Angle Quotes
8C LD630000        eth Icelandic Small
8D LY110000        y Acute Small
8E LT630000        Thorn Icelandic Small
8F SA020000        Plus or Minus Sign
90 SM190000        Degree Symbol
91 LJ010000        j Small
92 LK010000        k Small
93 LL010000        l Small
94 LM010000        m Small
95 LN010000        n Small
96 LO010000        o Small
97 LP010000        p Small
98 LQ010000        q Small
99 LR010000        r Small
9A SM210000        Ordinal Indicator, Feminine
9B SM200000        Ordinal Indicator, Masculine
9C LA510000        ae Diphthong Small
9D SD410000        Cedilla or Sedila Accent
9E LA520000        ae Diphthong Capital
9F SC010000        International Currency Symbol
A0 SM170000        Micro Symbol
A1 SD190000        Tilde Accent
A2 LS010000        s Small
A3 LT010000        t Small
A4 LU010000        u Small
A5 LV010000        v Small
A6 LW010000        w Small
A7 LX010000        x Small
A8 LY010000        y Small
A9 LZ010000        z Small
AA SP030000        Exclamation Point, Inverted
AB SP160000        Question Mark, Inverted
AC LD620000        D Stroke Capital/Eth Icelandic Capital
AD LY120000        Y Acute Capital
AE LT640000        Thorn Icelandic Capital
AF SM530000        Registered Trademark Symbol
B0 SD150000        Circumflex Accent
B1 SC020000        Pound Sterling Sign
B2 SC050000        Yen Sign
B3 SD630000        Middle Dot
B4 SM520000        Copyright Symbol
B5 SM240000        Section Symbol (USA)/Paragraph Symbol (Europe)
B6 SM250000        Paragraph Symbol (USA)
B7 NF040000        One Quarter
B8 NF010000        One Half
B9 NF050000        Three Quarters
BA SM060000        Left Bracket
BB SM080000        Right Bracket
BC SM150000        Overline
BD SD170000        Diaeresis/Umlaut Accent
BE SD110000        Acute Accent
BF SA070000        Multiply Sign
C0 SM110000        Left Brace
C1 LA020000        A Capital
C2 LB020000        B Capital
C3 LC020000        C Capital
C4 LD020000        D Capital
C5 LE020000        E Capital
C6 LF020000        F Capital
C7 LG020000        G Capital
C8 LH020000        H Capital
C9 LI020000        I Capital
CA SP320000        Syllable Hyphen
CB LO150000        o Circumflex Small
CC LO170000        o Diaeresis Small
CD LO130000        o Grave Small
CE LO110000        o Acute Small
CF LO190000        o Tilde Small
D0 SM140000        Right Brace
D1 LJ020000        J Capital
D2 LK020000        K Capital
D3 LL020000        L Capital
D4 LM020000        M Capital
D5 LN020000        N Capital
D6 LO020000        O Capital
D7 LP020000        P Capital
D8 LQ020000        Q Capital
D9 LR020000        R Capital
DA ND011000        One Superscript
DB LU150000        u Circumflex Small
DC LU170000        u Diaeresis Small
DD LU130000        u Grave Small
DE LU110000        u Acute Small
DF LY170000        y Diaeresis Small
E0 SM070000        Backslash
E1 SA060000        Divide Sign
E2 LS020000        S Capital
E3 LT020000        T Capital
E4 LU020000        U Capital
E5 LV020000        V Capital
E6 LW020000        W Capital
E7 LX020000        X Capital
E8 LY020000        Y Capital
E9 LZ020000        Z Capital
EA ND021000        Two Superscript
EB LO160000        O Circumflex Capital
EC LO180000        O Diaeresis Capital
ED LO140000        O Grave Capital
EE LO120000        O Acute Capital
EF LO200000        O Tilde Capital
F0 ND100000        Zero
F1 ND010000        One
F2 ND020000        Two
F3 ND030000        Three
F4 ND040000        Four
F5 ND050000        Five
F6 ND060000        Six
F7 ND070000        Seven
F8 ND080000        Eight
F9 ND090000        Nine
FA ND031000        Three Superscript
FB LU160000        U Circumflex Capital
FC LU180000        U Diaeresis Capital
FD LU140000        U Grave Capital
FE LU120000        U Acute Capital
FF
/* END of table --------------------------------------------------------


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
* ----------------------------------------------------------------------
* Copyright IBM Corporation 1995, 1998. All rights reserved.
* C-H 3-3220-050       : REGISTRY, Graphic Character Sets and Code Pages
* Code Page (CPGID)    : 01252
* Common Name          : Windows, Latin 1
* Registration Date    : 1995
* Last Revision Date   : 1998
* Default Encoding     : 4105
* Code                 : MS Windows (ISO 8 variant)
* Maximal Character
* Set (GCSGID)         : 01412
* Other GCSGIDs        : 01402
* ----------------------------------------------------------------------
*- GCGID --------- GCGID Name ------------------------------------------
20 SP010000        Space
21 SP020000        Exclamation Point
22 SP040000        Quotation Marks
23 SM010000        Number Sign
24 SC030000        Dollar Sign
25 SM020000        Percent Sign
26 SM030000        Ampersand
27 SP050000        Apostrophe
28 SP060000        Left Parenthesis
29 SP070000        Right Parenthesis
2A SM040000        Asterisk
2B SA010000        Plus Sign
2C SP080000        Comma
2D SP100000        Hyphen/Minus Sign
2E SP110000        Period/Full Stop
2F SP120000        Slash
30 ND100000        Zero
31 ND010000        One
32 ND020000        Two
33 ND030000        Three
34 ND040000        Four
35 ND050000        Five
36 ND060000        Six
37 ND070000        Seven
38 ND080000        Eight
39 ND090000        Nine
3A SP130000        Colon
3B SP140000        Semicolon
3C SA030000        Less Than Sign/Greater Than Sign (Arabic)
3D SA040000        Equal Sign
3E SA050000        Greater Than Sign/Less Than Sign (Arabic)
3F SP150000        Question Mark
40 SM050000        At Sign
41 LA020000        A Capital
42 LB020000        B Capital
43 LC020000        C Capital
44 LD020000        D Capital
45 LE020000        E Capital
46 LF020000        F Capital
47 LG020000        G Capital
48 LH020000        H Capital
49 LI020000        I Capital
4A LJ020000        J Capital
4B LK020000        K Capital
4C LL020000        L Capital
4D LM020000        M Capital
4E LN020000        N Capital
4F LO020000        O Capital
50 LP020000        P Capital
51 LQ020000        Q Capital
52 LR020000        R Capital
53 LS020000        S Capital
54 LT020000        T Capital
55 LU020000        U Capital
56 LV020000        V Capital
57 LW020000        W Capital
58 LX020000        X Capital
59 LY020000        Y Capital
5A LZ020000        Z Capital
5B SM060000        Left Bracket
5C SM070000        Backslash
5D SM080000        Right Bracket
5E SD150000        Circumflex Accent
5F SP090000        Underline/Continuous Underscore
60 SD130000        Grave Accent
61 LA010000        a Small
62 LB010000        b Small
63 LC010000        c Small
64 LD010000        d Small
65 LE010000        e Small
66 LF010000        f Small
67 LG010000        g Small
68 LH010000        h Small
69 LI010000        i Small
6A LJ010000        j Small
6B LK010000        k Small
6C LL010000        l Small
6D LM010000        m Small
6E LN010000        n Small
6F LO010000        o Small
70 LP010000        p Small
71 LQ010000        q Small
72 LR010000        r Small
73 LS010000        s Small
74 LT010000        t Small
75 LU010000        u Small
76 LV010000        v Small
77 LW010000        w Small
78 LX010000        x Small
79 LY010000        y Small
7A LZ010000        z Small
7B SM110000        Left Brace
7C SM130000        Vertical Line/Logical OR
7D SM140000        Right Brace
7E SD190000        Tilde Accent
7F
80 SC200000        Euro symbol
81
82 SP260000        Left Lower Single Quote
83 SC070000        Florin Sign
84 SP230000        Left Lower Double Quotes
85 SV520000        Ellipsis
86 SM340000        Dagger
87 SM350000        Double Dagger
88 SD150100        Circumflex Accent (Over Small Alphabetics Without Ascenders)
89 SM560000        Permille Symbol
8A LS220000        S Caron Capital
8B SP270000        Left Angle Single Quote
8C LO520000        OE Ligature Capital
8D
8E LZ220000        Z Caron Capital
8F
90
91 SP190000        Left Single Quote
92 SP200000        Right Single Quote
93 SP210000        Left Double Quotes
94 SP220000        Right Double Quotes
95 SM570000        Bullet
96 SS680000        En Dash
97 SM900000        Em Dash
98 SD190100        Tilde Accent (Over Small Alphabetics Without Ascenders)
99 SM540000        Trademark Symbol, Serif
9A LS210000        s Caron Small
9B SP280000        Right Angle Single Quote
9C LO510000        oe Ligature Small
9D
9E LZ210000        z Caron Small
9F LY180000        Y Diaeresis Capital
A0 SP300000        Required Space
A1 SP030000        Exclamation Point, Inverted
A2 SC040000        Cent Sign
A3 SC020000        Pound Sterling Sign
A4 SC010000        International Currency Symbol
A5 SC050000        Yen Sign
A6 SM650000        Vertical Line, Broken
A7 SM240000        Section Symbol (USA)/Paragraph Symbol (Europe)
A8 SD170000        Diaeresis/Umlaut Accent
A9 SM520000        Copyright Symbol
AA SM210000        Ordinal Indicator, Feminine
AB SP170000        Left Angle Quotes
AC SM660000        Logical NOT/End Of Line Symbol
AD SP320000        Syllable Hyphen
AE SM530000        Registered Trademark Symbol
AF SD310000        Macron Accent
B0 SM190000        Degree Symbol
B1 SA020000        Plus or Minus Sign
B2 ND021000        Two Superscript
B3 ND031000        Three Superscript
B4 SD110000        Acute Accent
B5 SM170000        Micro Symbol
B6 SM250000        Paragraph Symbol (USA)
B7 SD630000        Middle Dot
B8 SD410000        Cedilla or Sedila Accent
B9 ND011000        One Superscript
BA SM200000        Ordinal Indicator, Masculine
BB SP180000        Right Angle Quotes
BC NF040000        One Quarter
BD NF010000        One Half
BE NF050000        Three Quarters
BF SP160000        Question Mark, Inverted
C0 LA140000        A Grave Capital
C1 LA120000        A Acute Capital
C2 LA160000        A Circumflex Capital
C3 LA200000        A Tilde Capital
C4 LA180000        A Diaeresis Capital
C5 LA280000        A Overcircle Capital
C6 LA520000        ae Diphthong Capital
C7 LC420000        C Cedilla Capital
C8 LE140000        E Grave Capital
C9 LE120000        E Acute Capital
CA LE160000        E Circumflex Capital
CB LE180000        E Diaeresis Capital
CC LI140000        I Grave Capital
CD LI120000        I Acute Capital
CE LI160000        I Circumflex Capital
CF LI180000        I Diaeresis Capital
D0 LD640000        Eth Icelandic Capital
D1 LN200000        N Tilde Capital
D2 LO140000        O Grave Capital
D3 LO120000        O Acute Capital
D4 LO160000        O Circumflex Capital
D5 LO200000        O Tilde Capital
D6 LO180000        O Diaeresis Capital
D7 SA070000        Multiply Sign
D8 LO620000        O Slash Capital
D9 LU140000        U Grave Capital
DA LU120000        U Acute Capital
DB LU160000        U Circumflex Capital
DC LU180000        U Diaeresis Capital
DD LY120000        Y Acute Capital
DE LT640000        Thorn Icelandic Capital
DF LS610000        Sharp s Small
E0 LA130000        a Grave Small
E1 LA110000        a Acute Small
E2 LA150000        a Circumflex Small
E3 LA190000        a Tilde Small
E4 LA170000        a Diaeresis Small
E5 LA270000        a Overcircle Small
E6 LA510000        ae Diphthong Small
E7 LC410000        c Cedilla Small
E8 LE130000        e Grave Small
E9 LE110000        e Acute Small
EA LE150000        e Circumflex Small
EB LE170000        e Diaeresis Small
EC LI130000        i Grave Small
ED LI110000        i Acute Small
EE LI150000        i Circumflex Small
EF LI170000        i Diaeresis Small
F0 LD630000        eth Icelandic Small
F1 LN190000        n Tilde Small
F2 LO130000        o Grave Small
F3 LO110000        o Acute Small
F4 LO150000        o Circumflex Small
F5 LO190000        o Tilde Small
F6 LO170000        o Diaeresis Small
F7 SA060000        Divide Sign
F8 LO610000        o Slash Small
F9 LU130000        u Grave Small
FA LU110000        u Acute Small
FB LU150000        u Circumflex Small
FC LU170000        u Diaeresis Small
FD LY110000        y Acute Small
FE LT630000        Thorn Icelandic Small
FF LY170000        y Diaeresis Small
/* END of table --------------------------------------------------------

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to