Article View: bit.listserv.asm370
Article #395Re: Code page question
From: Lindy Mayfield
Date: Wed, 07 Sep 2005 03:16
Date: Wed, 07 Sep 2005 03:16
182 lines
8793 bytes
8793 bytes
I wrote this little Rexx edit macro just to help get my head around understanding this stuff, even though I deal with code page issues quite a lot.
It produces a series of messages in an edit session that looks like this in 1047:
IBM Variant Characters Code Page Display
123456789ABC
US !#@{}\[]|$~¦ 4-5-6-7-8-9-A-B-C-D-E-F-
UK !#@{}\[]|¢¯¦ -0 & - ø Ø ° µ ^ { } \ 0
German |#§äüÖÄܨ$ßö -1 é / É a j ~ £ A J ÷ 1
Swiss |#@{}\¢!¨$~¦ -2 â ê Â Ê b k s ¥ B K S 2
CE |#@{}\¢!¦$~¦ -3 ä ë Ä Ë c l t · C L T 3
Cyrillic |#@{}\¢!¦$~¦ -4 à è À È d m u © D M U 4
Danish |¢Øæå\Ƥ¨Åüø -5 á í Á Í e n v § E N V 5
Swedish |ÄÖäåɧ¤¨Åüö -6 ã î à Πf o w ¶ F O W 6
Finnish |ÄÖäåɧ¤¨Åüö -7 å ï Å Ï g p x ¼ G P X 7
Italian |£§àèç°é¨$ìò -8 ç ì Ç Ì h q y ½ H Q Y 8
French |£àéèç°§¨$]ù -9 ñ ß Ñ ` i r z ¾ I R Z 9
Spanish ¨Ñ@{}\¢!|$]ñ -A ¢ ! ¦ : « ª ¡ Ý ¹ ² ³
-B . $ , # » º ¿ ¨ ô û Ô Û
Key: -C < * % @ ð æ Ð ¯ ö ü Ö Ü
1 - Exclamation Pt -D ( ) _ ' ý ¸ [ ] ò ù Ò Ù
2 - Hash -E + ; > = þ Æ Þ ´ ó ú Ó Ú
3 - At-Sign -F | ¬ ? " ± ¤ ® × õ ÿ Õ
4&5-L/R Curly Braces
6 - Back Slash
7&8-L/R Square Brackets
9 - Vertical Bar
A - Dollar Sign
B - Tilde
C - Broken Vertical Bar
The code that produced it is this:
/* Rexx */
"ISREDIT MACRO NOPROCESS"
"ISPEXEC CONTROL ERRORS RETURN"
H1 = 'IBM Variant Characters Code Page Display'
SP = ' '
H2 = ' 123456789ABC'
US = x2c('5a7b7cc0d0e0adbd4f5ba16a')
UK = x2c('5a7b7cc0d0e0adbd4f4abc6a')
German = x2c('4f7bb543dcec63fcbb5b59cc')
Swiss = x2c('4f7b7cc0d0e04a5abb5ba16a')
CE = x2c('4f7b7cc0d0e04a5a6a5ba16a') /* Central European */
Cyrillic = x2c('4f7b7cc0d0e04a5a6a5ba16a')
Danish = x2c('4f4a809c47e09e9fbb67dc70')
Swedish = x2c('4f63ec434771b59fbb67dccc')
Finnish = x2c('4f63ec434771b59fbb67dccc')
Italian = x2c('4fb1b54454489051bb5b58cd')
French = x2c('4fb14451544890b5bb5bbddd')
/* Spanish = x2c('bb697cc0d0e04a5a4f5bbd6a') */
Spanish = x2c('bb697cc0d0e04a5a4f5bbd49')
RH = ' ' '4-5-6-7-8-9-A-B-C-D-E-F-'
R0 = '-0' x2c('404050406040704080409040a040b040c040d040e040f040')
R1 = '-1' x2c('414051406140714081409140a140b140c140d140e140f140')
R2 = '-2' x2c('424052406240724082409240a240b240c240d240e240f240')
R3 = '-3' x2c('434053406340734083409340a340b340c340d340e340f340')
R4 = '-4' x2c('444054406440744084409440a440b440c440d440e440f440')
R5 = '-5' x2c('454055406540754085409540a540b540c540d540e540f540')
R6 = '-6' x2c('464056406640764086409640a640b640c640d640e640f640')
R7 = '-7' x2c('474057406740774087409740a740b740c740d740e740f740')
R8 = '-8' x2c('484058406840784088409840a840b840c840d840e840f840')
R9 = '-9' x2c('494059406940794089409940a940b940c940d940e940f940')
RA = '-A' x2c('4a405a406a407a408a409a40aa40ba40ca40da40ea40fa40')
RB = '-B' x2c('4b405b406b407b408b409b40ab40bb40cb40db40eb40fb40')
RXC = '-C' x2c('4c405c406c407c408c409c40ac40bc40cc40dc40ec40fc40')
RD = '-D' x2c('4d405d406d407d408d409d40ad40bd40cd40dd40ed40fd40')
RE = '-E' x2c('4e405e406e407e408e409e40ae40be40ce40de40ee40fe40')
RF = '-F' x2c('4f405f406f407f408f409f40af40bf40cf40df40ef40ff40')
L1 = 'US ' US Right(RH,32)
L2 = 'UK ' UK Right(R0,32)
L3 = 'German ' German Right(R1,32)
L4 = 'Swiss ' Swiss Right(R2,32)
L5 = 'CE ' CE Right(R3,32)
L6 = 'Cyrillic' Cyrillic Right(R4,32)
L7 = 'Danish ' Danish Right(R5,32)
L8 = 'Swedish ' Swedish Right(R6,32)
L9 = 'Finnish ' Finnish Right(R7,32)
L10 = 'Italian ' Italian Right(R8,32)
L11 = 'French ' French Right(R9,32)
L12 = 'Spanish ' Spanish Right(RA,32)
L13 = ' ' Right(RB,34)
L14 = 'Key: ' Right(RXC,34)
L15 = '1 - Exclamation Pt ' Right(RD,34)
L16 = '2 - Hash ' Right(RE,34)
L17 = '3 - At-Sign ' Right(RF,34)
L18 = '4&5-L/R Curly Braces'
L19 = '6 - Back Slash '
L20 = '7&8-L/R Square Brackets'
L21 = '9 - Vertical Bar'
L22 = 'A - Dollar Sign'
L23 = 'B - Tilde'
L24 = 'C - Broken Vertical Bar'
"Isredit LINE_BEFORE 1 = Msgline (H1)"
"Isredit LINE_BEFORE 1 = Msgline (SP)"
"Isredit LINE_BEFORE 1 = Msgline (H2)"
"Isredit LINE_BEFORE 1 = Msgline (L1)"
"Isredit LINE_BEFORE 1 = Msgline (L2)"
"Isredit LINE_BEFORE 1 = Msgline (L3)"
"Isredit LINE_BEFORE 1 = Msgline (L4)"
"Isredit LINE_BEFORE 1 = Msgline (L5)"
"Isredit LINE_BEFORE 1 = Msgline (L6)"
"Isredit LINE_BEFORE 1 = Msgline (L7)"
"Isredit LINE_BEFORE 1 = Msgline (L8)"
"Isredit LINE_BEFORE 1 = Msgline (L9)"
"Isredit LINE_BEFORE 1 = Msgline (L10)"
"Isredit LINE_BEFORE 1 = Msgline (L11)"
"Isredit LINE_BEFORE 1 = Msgline (L12)"
"Isredit LINE_BEFORE 1 = Msgline (L13)"
"Isredit LINE_BEFORE 1 = Msgline (L14)"
"Isredit LINE_BEFORE 1 = Msgline (L15)"
"Isredit LINE_BEFORE 1 = Msgline (L16)"
"Isredit LINE_BEFORE 1 = Msgline (L17)"
"Isredit LINE_BEFORE 1 = Msgline (L18)"
"Isredit LINE_BEFORE 1 = Msgline (L19)"
"Isredit LINE_BEFORE 1 = Msgline (L20)"
"Isredit LINE_BEFORE 1 = Msgline (L21)"
"Isredit LINE_BEFORE 1 = Msgline (L22)"
"Isredit LINE_BEFORE 1 = Msgline (L23)"
"Isredit LINE_BEFORE 1 = Msgline (L24)"
"Isredit LINE_BEFORE 1 = Msgline (SP)"
"Isredit LINE_BEFORE 1 = Msgline (SP)"
Return
-----Original Message-----
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of John R. Ehrman
Sent: 6. syyskuuta 2005 21:46
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Code page question
Steve, just to verify that my display doesn't map display your
set of characters incorrectly, are they respectively
* left and right square bracket
* left and right curly brace
* backslash
* caret/hat/circumflex
* degree/superscript o
* exclamation point
* hash/pound/sharp/crunch/octothorpe
* unbroken/solid vertical bar
* left-slant apostrophe/accent grave
* dollar sign
* at sign
For many years I've worked on the assumption that the following
special characters are stable across all EBCDIC code pages (and
I hope these all display the intended glyphs!)
blank . , : ; ? ( ) ' " / - & _ % * = < >
John Ehrman
(------------------ Referenced Note Follows --------------------)
> Date: Tue, 6 Sep 2005 11:56:52 -0600
> From: Steve Comstock <steve@trainersfriend.com>
> ... the doc specifies this set: [ ] { } \ ^ ~ ! # | ` $ @
Technical Details
Message-ID:
<C19F7C7C2BF2A94D9AF060442FC2A349D37F0A@ssfmail01.emea.sas.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!newsfeed2.easynews.com!newsfeed1.easynews.com!easynews.com!easynews!sn-xit-03!sn-xit-08!sn-xit-14!supernews.com!149.173.6.116.MISMATCH!foggy!vm.sas.com!SSF.SAS.COM!Lindy.MayfieldShow Full Headers
Complete Article Headers
X-Google-Thread: fcdcb,917f9311970f3177
X-Google-Attributes: gidfcdcb,public
X-Google-Language: ENGLISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!newsfeed2.easynews.com!newsfeed1.easynews.com!easynews.com!easynews!sn-xit-03!sn-xit-08!sn-xit-14!supernews.com!149.173.6.116.MISMATCH!foggy!vm.sas.com!SSF.SAS.COM!Lindy.Mayfield
From: Lindy Mayfield <Lindy.Mayfield@SSF.SAS.COM>
Newsgroups: bit.listserv.asm370
Subject: Re: Code page question
Date: Wed, 7 Sep 2005 06:16:41 +0300
Organization: SAS Inc.
Lines: 182
Sender: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU>
Message-ID: <C19F7C7C2BF2A94D9AF060442FC2A349D37F0A@ssfmail01.emea.sas.com>
NNTP-Posting-Host: mozart.unx.sas.com
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: foggy.unx.sas.com 1126099447 5230 10.19.150.41 (7 Sep 2005 13:24:07 GMT)
X-Complaints-To: usenet@unx.sas.com
NNTP-Posting-Date: Wed, 7 Sep 2005 13:24:07 +0000 (UTC)
Comments: Gated by NETNEWS@VM.SAS.COM
Return-Path: <owner-assembler-list@LISTSERV.UGA.EDU>
Approved-By: lsvmaint@LISTSERV.UGA.EDU
X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0
content-class: urn:content-classes:message
Thread-Topic: Re: Code page question
Thread-Index: AcWzE3kBX74FVMdjRQmLWQhgQSxlrgARi0YA
X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.cc.uga.edu id
j873Hi6A025389
Return-Path: owner-assembler-list@LISTSERV.UGA.EDU
X-OriginalArrivalTime: 07 Sep 2005 13:24:04.0564 (UTC)
FILETIME=[6AFE8140:01C5B3AF]
X-Mime-Autoconverted: from 8bit to quoted-printable by mime827
Originator: daemon@mozart.unx.sas.com