Hi guys. I need help in converting data EBCDIC to Ascii. I have used python codecs module - cp500, cp037, cp274. I got some of the data in readable format. But still most of the output file was not readable. I am looking to find SMF records in the final output. I need help in converting the data so it makes sense then in next step I have to identify which SMF records are present in the data SMF . How can I do it.
Here is the sample data
OàÉÕÔÙðñ B P Ôåâñ aÁ×ÓÁÃðò ç ç$ òðòòññòóñøò÷ðô/ dàÉÕÔÙðò ( aÉÕÔÃÖ×è€ +N < @ B 0 m^ I À aÁ×ÓÁÃðò ÄÄÕÁÔÅ âèâäãñ*àÉÕÔÙðó€ +N < @ B P I \À Z€ "2%D"P 2m^ J€ 8€ m^ J ÿ€ û@ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÃÅçÅÃeÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄÂòÃÔÄâ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððñKãòôóøóó ÉÃÆÃÁãKåãâÖÔðñ@@@ÿ @@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððòKãöõøøôù ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððóKãôõ÷ôù÷ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððôKãøòôôòö ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@ÿ @@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððõKãòôòøöô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððöKã÷ùòòøô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðð÷Kãö÷õóôñ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÿ ÈñKÄððøKãóùôøùñ
@arohyadav , welcome. I recommend you checkout the dd utility , it should be able to do this using
the conv= option man dd
will give you the necessary details.
PS: Am not at a pc so unable to demonstrate atm.
If you’ve written code, then post that please, the forum is a collaborative effort.
jgt
April 26, 2024, 3:31pm
3
Can you do a partial hex dump of the source data?
I have a utility I wrote 20+ years ago that might do what you need, it converts files of ASCII characters to EBCDIC and vice-versa, It's a Windows application, written in Delphi 6.0. however it runs well on Linux using Wine or QT4Wine.
I'd b e pleased to send it to you however as a newbie here i cannot post any "links", my email address is email-address-removed (lets see if that tricks them)--send me a message and I can send screenshots, etc. for you to evaluate. if you like what you see I'll .zip up the app and get that to you.
@CliffyK welcome, read the faq's please.
Do the right thing and request that you be allowed to post your source code.
I've locked your post, removed your email address, please respect the basic rules
From the FAQ: 'Don't post your email address and ask for an email reply. Don't send a private message with a technical question. The forums are for the benefit of all, so all Q&A should take place in the forums'
1 Like
The source code is for Delphi v6.x and unlikely to be of any use to someone in 2024.
How can I get the application to this fellow? I want to help...
The difficulty here is that EBCDIC is an 8-bit encoding and ASCII is a 7-bit encoding. The Wikipedia page for EBCDIC shows about 90 unused encodings, and about 60 Control codes, where ASCII only has 32.
For example, EBCDIC 0x20 is specified as "DS -- Digit Select", and my frequency count says your data contains 143 of those, and they are all translated by dd
to ASCII 0x80, which is non-ASCII because there is no equivalent.
Defined controls like BEL, DC4 and SYN are correctly translated, as are lowercase letters. There are no numeric digits in your example.
Strangely, there are 481 0xC3 (uppercase C
) in your data, over 30% of all the data.
I suspect your data is not EBCDIC text: it might possibly be pure binary, or wide characters, or the equivalent of UTF-8 in EBCDIC, or have been munged during the cut-paste into your question. Maybe you could post it again via PasteBin, or as Base64.
I converted 70 lines of C code (using dd conv=xx
) to EBCDIC and back to ASCII, and the result was bitwise identical to the original. So I do not think conversion for valid text is the problem here.
$ ls -l trim.c
-rw-rw-r-- 1 paul paul 1408 May 25 2022 trim.c
$ wc trim.c
69 252 1408 trim.c
$ dd < trim.c > trim.Ebcdic status=none conv=ebcdic
$ dd < trim.Ebcdic > trim.Ascii status=none conv=ascii
$ cksum trim.c trim.Ebcdic trim.Ascii
469026268 1408 trim.c
687972503 1408 trim.Ebcdic
469026268 1408 trim.Ascii
$
1 Like
Hi @arohyadav ,
I'm with @Paul_Pedant and have concern that you're trying to convert what is -- for all intents and purposes -- binary SMF data as if it were text.
I believe that the data is heavily decoded and later portions of the SMF data are highly dependent on earlier portions of the SMF data. Much like later bits in an IP packet are highly dependent on earlier bits in the IP packet.
What does this source data look like on the mainframe when you view it?
N.B. I'm assuming mainframe z/OS as I'm not aware of SMF being a thing in IBM i, the other likely place you'd see EBCDIC.
1 Like
@arohyadav , your challenge is highlighted on this and associated pages and as other posters have alluded to the decoding challenges.
https://www.ibm.com/docs/en/iis/11.7?topic=tables-ebcdic-ascii
If you've been given ebcdic (binary) data then I would be going back to the source of that and engaging them wrt the 'challenge' of decoding to the appropriate format.
as to SMF specifically , there's plenty of official documentation ...
SMF details ...
@CliffyK if it's 'unlikely to be of any use to someone in 2024' I would leave as is.
Let's wait for @arohyadav to come back to the audience and take it from there.
Your offer of help is noted.
The Wikipedia entry for EBCDIC has a "Criticism and humor" section. Example:
Professor: "So the American government went to IBM to come up with an encryption standard , and they came up with—"
Student: "EBCDIC!"
2 Likes
I don't have the data in hex format. This is my source data.
OàÉÕÔÙðñ B P Ôåâñ aÁ×ÓÁÃðò ç ç$ òðòòññòóñøò÷ðô/ dàÉÕÔÙðò ( aÉÕÔÃÖ×è€ +N < @ B 0 m^ I À aÁ×ÓÁÃðò ÄÄÕÁÔÅ âèâäãñ*àÉÕÔÙðó€ +N < @ B P I \À Z€ "2%D"P 2m^ J€ 8€ m^ J ÿ€ û@ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÃÅçÅÃeÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄÂòÃÔÄâ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððñKãòôóøóó ÉÃÆÃÁãKåãâÖÔðñ@@@ÿ @@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððòKãöõøøôù ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððóKãôõ÷ôù÷ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððôKãøòôôòö ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@ÿ @@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððõKãòôòøöô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððöKã÷ùòòøô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðð÷Kãö÷õóôñ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÿ ÈñKÄððøKãóùôøùñ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄððùKãñôùôñð ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðñðKãóùó÷ò÷ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðññKãõ÷òñö÷ ÉÃÆÃÁãÿ KåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðñòKãõòöõðù ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðñóKãõñðòöõ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðñôKãù÷òòõô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@ÿ @@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðñõKãøõøñóõ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðñöKãòõõõ÷õ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðñ÷Kãõøôóò÷ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðÿ òKâØÓÂÁâÅK×ÈñKÄðñøKãõñðõóõ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðñùKãøóõòõö ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðòðKãõô÷ùðð ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðòñKãööÿ ôóðó ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðòòKãùóøôñò ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðòóKãóõ÷ñöô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðòôKãôòøõöö ÉÃÆÃÁãKåãâÖÔðñ@@@ÿ @@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðòõKãñóóøñð ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðòöKãô÷ðññ÷ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðò÷Kãôôóòøù ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@ÿ @@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðòøKã÷õöôøõ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðòùKãøòðøñö ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÄðóðKãøøøò÷ø ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÿ ÈñKÄðóñKãóñùùùøÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÑÃÓÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÓÓÉÂÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÔÓÉÂÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@ÿ @@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñK×ÓÉÂÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâÓÉÂÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâèâÖäãÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâèâãâ×Ùã ÉÃÿ ÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâððñKãò÷ñõøô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâððòKãóöøùóô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâððóKãóööù÷ð ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@ÿ @@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâððôKã÷ðöñøó ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâððõKãóùñøðñ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâððöKãøðôõøð ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÿ ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðð÷Kãóñòöññ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâððøKãñð÷ùóõ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâððùKãöøøóðö ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðñðÿ Kãóõøùð÷ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðññKãù÷õøöð ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðñòKãñöôñ÷÷ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðñóKãòóóùòò ÉÃÆÃÁãKåãâÖÔðÿ ñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðñôKãöóöøøð ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðñõKã÷ððñòð ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðñöKãô÷øññô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@ÿ @@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðñ÷Kãôõ÷ôðù ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðñøKãòô÷òøó ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðñùKãóôòøòñ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁÿ âÅK×ÈñKâðòðKãòöö÷ó÷ ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðòñKãòõõùðø ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðòòKã÷ðñöñö ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðòóKãõùòô÷ð ÉÃÿ ÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðòôKãóóóñõó ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðòõKãøòôùòô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðòöKãñøðñòô ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@ÿ @@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðò÷Kãöøóõòò ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðòøKã÷ùùòôø ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðòùKãöðóòõö ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÿ ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðóðKãøð÷ôõò ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKâðóñKãôõó÷ñóÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKãÓÉÂÉÃÆÃÁãKåÄÂòÄðò@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ÄÂòKÄâÕÄâÕKãÁÉÓÖÙKâÄâÕâÁÔ×ÉÃÆÃÁ?@ãKåÖâãÅâã@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ãKÄÂòKâÔÆKÔåâòKÕÖåèòó |À z ÉÃÆÃÁãKåãâÖÔðñ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÃÅçÅÃ@@@@@@@@@@@@@@@@@@@ ÿ€ P ãâÖÔñð00 å¢
9ü Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÃÅçÅÃ@@@@@@@@@@@@@@@@@@@ñãâÖÔñð zF ÉÂÔÖâåâò@@@@@zG€€ P € P P €P ˆ E
¿ê X ak X a] Ž 4Õ Á×ÓÁÃðòKâØÓÂÁâÅK×ÈñKÃÅçÅà ÉÃÆÃÁãKåãâÖÔðñ X" U@ L$ âÃæÈãâÖã ÔÃæÈãâãðÜreÚó¦‡ ÿ€ î Î X a ÃaX a …ÿI VéÂâÇÃâØÓ ** éÂâÇÈÅÓ× éÂâÇ×ÈñÄ = éÂâÇâÕäÔ éÂâÇãÖÆÆ @ éÂâÇãÙÁà / …ÿßßßßßÁX aßßßßßßßØX aßßßßßßßØX aßßßßßßßØX aßßßßßßßØX aßßßßßßßØX aaÀ)X a PGÿ ¬ÅçÅÃ×ÙÖÃÅÁÇÙã×ÙÃ@Ö”—‰“ÿ …„@ÙÅççàôKðà6òø@Ô¨@òðñù@ññzñòzõù@Ôåâ@ÙÅççÃó÷ð@óKôX a Pø@òó@Ä…ƒ@ñ€ù.@ÓåÓ@×Òðôøòò@ÄÅåØâÙÃKåùððKéÂâÇKâÖäÙÃÅMéÂâÇâÕäÔ]ñaX a
Pá @€ÿ$ýÐ _X°P¤µ‘°GPìe AP‘€êGPØ
ÊÀeGðPâAð ‰ð
ÌÏXðP¨GÐQ*ef‘€X a PêG€QA QA0 ‰0 #bˆ` A bXðÀEàðÿ PA bGpPA P˜Ð aþ€ËX a P V ˜Á
X øÀ Ì Ü P ˜À: pÀ (Àa |Ãi(X a
P 4 @ L X d p h aT ˜ aÀ aÌ Ä a¨ a0 p | a<X a P al ÜÇPÀ
Áe ÿ€À Æ
@ @ ÐÃÐ ÿ È ˜X a P 4 ÐÀÈ ˜ œ e8 h 6 V°ÃV° 0 Wà @ ] À0 ]PÀ$ ]xX a P ¸ `0 Ø cÀT c`À cðÀ< d0Ãd0À dHÀ 0ÑX a PA€aÌApÕ|XðÀ€Eàð A€|ApÕpXðÀ€EàðXA€ÜXðÀèEàðXp °XðÀôEàð8ApÚ¨XðÀÀEàð8ApÚ(XðÀÀEàð8X a PApØØXðÀÀÿ Eàð8ApÚXðÀÀEàð8ApÙHXðÀÀEàð8ApÙ,XðÀÀEàð8ApؼXðÀÀEàð8AÖA€Ú(ApÕpXðÀHEàðX a PG€²BxA€Õ¤XðÁ,EàðÀAÖA€ØØApÕpXðÀHEàðG€²hxA€Õ¤XðÁ,EàðÀA A€ ,ApÙðXðÀˆEàð0A@ X a P‰@ A„µpApÕpXðÀ¸Eàð@XðÀÀEàð8Xp °XðÀôEàð8ApÙdA€×ÀXðÁ,EàðÀA@ ‰@ Atµ|XðÀìEàðA@ X ÿ a P‰@ Atµ¾XðÀìEàð ApÙX€°L‘€€G€³
H pT °ÀI €Gp³–€pGð³XðÁ,Eàð°Xp °XðÀôEàð8ApX a PÙ¸A€×xXðÁ,EàðÀApÚðA€×ÀXðÁ,EàðÀApÖ¸XðÀ¼EàðApÖôeˆXðÀ¸EàðHXðÀ¼Eàð Xp °XðÀôEàð8ApÖ¸X a PXðÀ¼EàðAp×eˆXðÀ¸EàðHXðÀ¼Eàð Xp °XðÀôEàð8ApÖ¸XðÀ¼EàðAp×eˆXðÀ¸EàðHXðÿ À¼Eàð Xp °X a PXðÀôEàð8A×ÀA€Ù€ApÕpXðÀHEàð G€´jApÙdA€Ö(XðÁ,EàðÀA@ ‰@ AtµXðÀìEàðA@ ‰@ At¶X a PXðÀìEàð ApÙX€°L‘€€G€´BH pT °ÀI €Gp´J–€pGð´JXðÁ,Eàð°Xp °XðÀôEàð8A@ ‰@ AtX a PµÛXðÁEàðXðÀ¸EàðHApÖ¸XðÀ¼EàðAp× eˆXðÀ¸EàðHXðÀ¼Eàð Xp °Xÿ ðÀôEàð8ApÙ€XðÀÀEàð8ApÙÔX ae PXðÀÀEàð8ApÚðXðÀÀEàð8A×äA€Ù€ApÕpXðÀHEàðG€µApÙdA€Ö4XðÁ,EàðÀA@ ‰@ Atµ§XðÁEàðX a PGð¶A×ÀA€Ù€ApÕpXðÀHEàðG€µˆA@ ‰@ A„µ¤ApÕpXðÀ¸Eàð@XðÀÀEàð8Xp °XðÀôEàð8AÙðA€ÙÔX a PApÕpXðÀHEàðG€µ„ApÙdA€ÚðXðÁ,EàðpA@ ‰@ Atµ§ÿ XðÁEàðGð¶ApÙdA€Ö@XðÁ,EàðÀA@ ‰@ X a PAtµ¸XðÀìEàðA@ ‰@ At¶XðÀìEàð ApÙX€°L‘€€G€µêH pT °ÀI €Gpµò–€pGðµòXðÁ,EàX a Pð°Xp °XðÀôEàð8A@ ‰@ Atµ§XðÁEàðA@ ‰@ At¶3XðÁEàðXðÀ¸EàðHApÙdXðÀÀEàð8ApÖèeˆX a PXðÀ¸EàðHXðÀ¼Eàð Xp °XðÀôEàð8A×ÿ ÀA€Ù€ApÕpXðÀHEàð G€¶êApÙdA€ÖLXðÁ,EàðÀA@ ‰@ AtµÌX a! PXðÀìEàðA@ ‰@ At¶XðÀìEàð ApÙX€°L‘€€G€¶ÖH pT °ÀI €Gp¶Þ–€pGð¶ÞXðÁ,Eàð°XpX a" P °XðÀôEàð8XðÀ¸EàðHA@ ‰@ AtµàXðÀìEàðA@ ‰@ Atµ÷XðÀìEàð ApÙX€°L‘€€G€·DH pX a# PT °ÀI €Gp·L–€pGðÿ ·LXðÁ,Eàð°Xp °XðÀôEàð8Xp°L}A€ÙdXðÁ@Eàð”pXðÀðEàðXðÀ¸EàðHA€X a$ PלAp×XðÀ¸EàðHXðÀ¼Eàð Xp °XðÀôEàð8A€Ö¸ApÖ”XðÀ¸EàðHXðÀ¼Eàð Xp °XðÀôEàð8A@ ‰@ A„X a% PµôApÕpXðÀ¸Eàð@XðÀÀEàð8Xp °XðÀôEàð8A€×œAp×XðÀ¸EàðHXðÀ¼Eàð Xp °XðÀôEàð8ApÕpA€ØhXðX a& PÁ8Eàðÿ XðÀPEàðG€¸–Xp °XðÀôEàð8ApÕpA€ÖdXðÁ8EàðhApÕ|A€Ö¸XðÁ8EàðhApÕˆXðÁ8EàðhA@ ‰@X a' P A„¶ ApØ„XðÀ¸EàðHXðÀ¼Eàð(Xp °XðÀôEàð8Xp °XðÀôEàð8A@ ‰@ A„¶ApÕpXðÀ¸Eàð@A€Ö¸XðX a( PÀ¸EàðHXðÀ¼Eàð Xp °XðÀôEàð8A×ÀA€Ù€ApÕpXðÀHEàð G€¹€ApÛA€×ÌXðÁ,EàðÀA@ ‰@ A„¶(Apÿ X a) PØôXðÀ¸Eàð@A@ ‰@ At¶4XðÀìEàðA@ ‰@ At¶XðÀìEàð ApÙX€°L‘€€G€¹lH pT °ÀI €X a* PGp¹t–€pGð¹tXðÁ,Eàð°Xp °XðÀôEàð8Xp°L}A€ÙdXðÁ@Eàð”pXðÀðEàðXðÀ¸EàðHA€Ö¸ApÖ¬XðX a+ PÀ¸EàðHXðÀ¼Eàð Xp °XðÀôEàð8ApÕpA€Ö XðÁ8EàðhApÕ|A€Ö¸XðÁ8EàðhApÕˆXðÁ8Eÿ àðhA@ ‰@ A„X a, P¶HApØ„XðÀ¸EàðHXðÀ¼Eàð(Xp °XðÀôEàð8Xp°L}A€ÙdXðÁ@Eàð”pXðÀðEàðXðÀ¸EàðHApׄXðÀÀX a- PEàð8A@ ‰@ A„¶dApÕpXðÀ¸Eàð8XðÀÀEàð8Xp °XðÀôEàð8A@ ‰@ A„¶pApÕpXðÀ¸Eàð8XðÀÀEàð8X a. PXp °XðÀôEàð8A@ ‰@ A„¶|ApÕpXðÀ¸Eàð8XðÀÀEàð8Xp °XðÀôEàÿ ð8A€ÚDAp×ÌXðÁHEàðPðÕ@Ap×ðX a/ PXðÁHEàðPðÕDAp×üXðÁHEàðPðÕHApØXðÁHEàðPðÕLApØXðÁHEàðPðÕPApØ XðÁHEàðPðÕTA€Û€X a0 PX Õ@e
P €X ÕDe
P €X ÕHe
P €X ÕLe
P € X ÕPe
P €(X ÕTe
P €0ApÕpXðÀ¸Eàð8XðÀÀEàð8X a1 PXp °XðÀôEàð8A€ÚÄAp×ÀXðÁHEàðPðÕ@Ap×ÌXðÁHEÿ àðPðÕDAp×ðXðÁHEàðPðÕHAp×üXðÁHEàðPðÕLX a2 PApØXðÁHEàðPðÕPApØXðÁHEàðPðÕTApØ XðÁHEàðPðÕXApØ,XðÁHEàðPðÕ\ApØ8XðÁHEàðPðÕ`X a3 PApØDXðÁHEàðPðÕdAp×ØXðÁHEàðPðÕhA€Û´X Õ@e
P €X ÕDe
P €X ÕHe
P €X ÕLe
P € X ÕPX a4 Pe
P €(X ÕTe
P €0X ÕXe
P €8X ÿ Õ\e
P €@X Õ`e
P €HX Õde
P €PX Õhe
P €XApÕpXðÀ¸Eàð8XðX a5 PÀÀEàð8Xp °XðÀôEàð8A@ ‰@w A„¶ˆApÕpXðÀ¸Eàð8XðÀÀEàð8Xp °XðÀôEàð8A@ ‰@ A„¶”ApÕpXðX a6 PÀ¸Eàð@XðÀÀEàð8Xp °XðÀôEàð8Xp°L}–€pXðÀðEàð–€pXðÀðEàð É Ã ÀX a7 PÁ@ À Á@@ÅÙÙÖÙ@ÔÅââÁÇÅ@~@ÿ Á
À
Á
@@âØÓÃÖÄÅ@@~@Â
À
ÁX a8 P@@âØÓÅÙÙÄ@@~@Â
À
Á
@@âØÓÅÙÙÔÃ@~@Â
À
Á
@@âØÓÅÙÙ×@@~@Â
À
X a9 PÁ
@@âØÓâãÁãÅ@~@Â
À
Á
@@âØÓæÁÙÕ@@~@ À Á@`@çâãÔãÉÄ~À ÀX a: PÁ …[à À Á`ñÁ À Áa`óò÷öõÁ À Áa`óò÷ööÁ ÀX a; PÁa`óò÷ö÷Á ÿ À Áa`óò÷öøÁ À Ák À ÁÁÄÄÀ À ÁÂÁÄX a< PÀ À ÁÃÈÁÙà aÀ aÁaÃÖÕÕÅÃãÀ
À
Á
ÃÖÕÕÅÃã@ÙÅâÅã À ÁX a= PÄÅÓÅãÅÁ
À
Á
ÄÉâÃÖÕÕÅÃãÁ aÀ aÁaÄâÕÙÅççÀ À ÁÅ À Á X a> PÅ™™–™@ƒ–••…ƒ£‰•‡@£–@ÄÂòzà À ÁÅÕÇÉÕÅÅÙÉÕÇÀ À ÁeÅçÅÃâØÓ@Ãÿ ÓÖâÅ@@X a? P@Ãñ@À À Á ÅçÅÃâØÓ@ÄÅÃÓÁÙÅ@Ãñ@ÃäÙâÖÙ@ÆÖÙ@âñà 1À 1Á4ÅçÅÃâØÓ@ÆÅãÃÈ@@X a@ P@Ãñ@ÉÕãÖ@@zæâãÔãÉÄk@zæâãÔãÕÖÉâ #À #ÁÅçÅÃâØÓ@Ö×ÅÕáÃñêaX aA PáÀ !À !Á!ÅçÅÃâØÓ@×ÙÅ×ÁÙÅ@âñ@ÆÙÖÔ@@zâØÓâãÔã À ÁÆÅãÃÈ@æâãÔãÉÄz X aB PÀ À ÁÓÉãÀ À ÁÕÿ äÔÀ À ÁÙÅâÅã@âØÓÃÖÄÅzÁ À ÁÙÅççÃó÷X aC Pð@óKôø@òó@Ä…ƒ@ñ€ù À ÁÙçâäÂÃÖÔÃ
À
Á
âÃÉÅÕãÉÆÉÃÁ ÕÀ ÕÁ8X aD PâÅÓÅÃã@âãÔãmÉÄk@âãÔãÕÖÉ@@ÆÙÖÔ@âèâÉÂÔKâèâ×ÁÃÒâãÔãà#æÈÅÙÅ@ÓÖÃÁãÉÖÕ@~@zÓÖÃÁãÉÖÕ@@X aE Pì ÁÕÄ@ÃÖÓÓÉÄà~@zÃÖÓÓÉÄðÁÕÄ@ÃÖÕãÖÒÅÕ@~@zÃÖÕãÖÒÅÿ ÕX aF PîaÁÕÄ@ÕÁÔÅâ ~@z×ÙÖÇÙÁÔë À ÁâØÓÃÁ@Á™…@X aG PÉ•†–zà À ÁâäÂÃÖÔ@ÄâÕÙÅççÁ À ÁãâÖÀ À ÁåÁÙÀ À ÁX aH PçâãÔãÉÄ~à À Áað À Áañ À ÁañðÁ À ÁañððÀX aI PÀ Áaò À Áaó À Áaô À Áaõ À ÁaöÂX aJ PÀ Áÿ a÷ À Áaø À Áaù À ÁÙÃÁ À ÁâmÙÃÀ µ • X ÅaX PÀ À ÁâÉÇÓà À ÁæÕäÓÓ À ÁÃÖÓÓÉÄÁ À ÁÅÙÙÔâÇ X PÀ À ÁÙÅâäÓãÁ À ÁâãÔãÉÄÁ aÀ aÁa×ÙÖÇÙÁÔÀ aÀ aÁÙÅãÃÖÄÅX PÀ aÀ aÁaâØÓÃÖÄÅÀ aÀ aÁaâØÿ ÓÅÙÙ×À aÀ aÁaâØÓâãÔãÀ aÀ aÁæâãÔãÉÄX PÀ aÀ aÁaçâãÔãÉÄÀ À ÁÃÖÕãÖÒÅÕà À ÁÓÖÃÁãÉÖÕà À ÁX PâØÓÅÙÙÄKà À ÁâØÓÅÙÙÔÃà À ÁâØÓâãÁãÅà À ÁâØÓãÃââX PÉà À ÁâØÓæÁÙÕKà À ÁæâãÔãÕÖÉÃ
À
Á
ÆÓÁÇmÅÙÙÖÙÂaX a Pà À ÙÅÿ ÁÄmâãÔãÃ&À ÙãÕmÃÓÖâÅÃavÀ ÙãÕmÃÖÕÕÅÃãmÄÂòÂ
X P êÀ ÙãÕmÄÉâÃÖÕÕÅÃãà žÀ ÙãÕmÄÉâÃÖÕÕÅÃãmÄÂòÃ
@À ÙãÕmÄÉâ×mâØX PÓÃÁÃjÀ ÙãÕmÆÅãÃÈÍÈÀ ÃÔÀ ÃàÀ à ìX
PÀ
ÃøÀ ÃÀ ÃÀ ÃÀ Ã4À ÃBÀ ÀX P ZÀ ÿ ÃhÀ À |À èÀ øÀ #ÃÀ %Ã.À(X PÃ>À .ÃJÀ /ÃlÀ 0À xÀ 1ÚÀ 2À ¦À 3à ÈX
PÀ 4À àÀ 5ÃðÀ 8À VÀ 9À rÀ :À ~À >à À ?ÀX P ¬À AøÀ BÃÄÀ CÃÜÀ DÃìÀ GÀ À HÀ ÀLX PÀ HÀ ÿ OÀ `À PÀ pÀ SÀ ˆÀ TÀ ˜À YÀ þÀ ZÀ X PÀ [À .À _Ã:À bÃ\À cÃtÀ dÄÀ gÀ òÀ hÀX P aXÀ lÃa~À nÃa¢À tÃaÆÀ uÃaòÀ vÃÀ wÃ>ÀxX PâÀ {À ÚÀ }ÃòÀ ~à À À À ‚À €À ƒÀ ¦X PÀ ÿ …à ÊÀ ‹Ã
"À ŒÃ
HÀ Ã
TÀ ”Ã
€À •Ã
¬À –ÁX P
ØÀ —ÃœÀ ˜ÃâÀ žÃ
À ©Ã
:À ªÃ
LÀ ¬Ã
XÀX PÀ PÃ`ÀP °ÀP ÁP PÀP ÀP ðÀP !@ÀP !ÀP !àÀPX P "0ÀP "€ÀP "ÐÀP # ÀP #pÀP #ÀÀP $ÀP $`ÀP $°ÀP %ÁPÿ X P %PÀP % ÀP %ðÀP &@ÀP &ÀP &àÀP '0ÀP '€ÀP 'ÐÀP ( ÀPX P (pÀP (ÀÀP )ÀP )`ÀP )°ÀP *ÁP *PÀP * ÀP *ðÀP +@ÀPX P +ÀP +àÀP ,0ÀP ,€ÀP ,ÐÀP - ÀP -pÀP -ÀÀP .ÀP .`ÀPX P .°ÀP /ÁPÿ /PÀP / ÀP /ðÀP 0@ÀP 0ÀP 0àÀP 10ÀP 1€ÀPX e P 1ÐÀP 2 ÀP 2pÀP 2ÀÀP 3ÀP 3`ÀP 3°ÀP 4ÁP 4PÀP 4 ÀPX P 4ðÀP 5@ÀP 5ÀP 5àÀP 60ÀP 6€ÀP 6ÐÀP 7 ÀP 7pÀP 7ÀÀPX P 8ÀP 8`ÀP 8°ÀP 9ÁP 9PÀPÿ 9 ÀP 9ðÀP :@ÀP :ÀP :àÀPX P ;0ÀP ;€ÀP ;ÐÀP < ÀP <pÀP <ÀÀP =ÀP =`ÀP =°ÀP >ÁPX P >PÀP > ÀP >ðÀP ?@ÀP ?ÀP ?àÀP @0ÀP @€ÀP @ÐÀP A ÀPX P ApÀP AÀÀP BÀP B`ÀP B°ÀP CÁP CPÀP C ÀPÿ CðÀP D@ÀPX ! P DÀP DàÀP E0ÀP E€ÀP EÐÀP F ÀP FpÀP FÀÀP GÀP G`ÀPX " P G°ÀP HÁP HPÀP H ÀP HðÀP I@ÀP IÀP IàÀP J0ÀP J€ÀPX # P JÐÀP K ÀP KpÀP KÀÀP LÀP L`ÀP L°ÀP MÁP MPÀP M ÀPX $ ÿ P MðÀP N@ÀP NÀP NàÀP O0ÀP O€ÀP OÐÀP P ÀP PpÀP PÀÀPX % P QÀP Q`ÀP Q°ÀP RÁP RPÀP R ÀP RðÀP S@ÀP SÀP SàÀPX & P T0ÀP T€ÀP TÐÀP U ÀPa\‡~@ÙÅçç@›~aX ' P“~\aåa\ÿéaX ( Pó\aåa\ÿéaX ) Pó\aåDa\ÿ Ö‚‘…ƒ£‰¥…z£ƒˆ@£–@ƒ–““…ƒ£@ÃÁÃÈÅ@‚¢…„@–•@–•“‰X * P•…@—™”…£…™¢æ\aåa\ÿéaX + Pó\aåa\ÿéaX , Pó\aå a¬\aX - P”\ aåa\ÿéaX . Pó\aåAÁ™‡@âØÓãÃââÉ@ÓÖÃÁãÉÖÕ@ÃÖÓÓÉÄ@ÃÖÕãÖÒÅÕ@×ÙÖÇÙÁÔ@âãX / PÔãÉÄ@æÕäÓÓÿÿ @@X 0 PýâÁè@âØÓãÃââÉÿ @@X 1 Pÿ ýâÁè@ÓÖÃÁãÉÖÕÿ @@X 2 Pý âÁè@ÃÖÓÓÉÄÿáaX 3 PýâÁè@ÃÖÕãÖÒÅÕÿ @@X 4 Pý
âÁè@×ÙÖÇÙÁÔÿàaX 5 Pý âÁè@âãÔãÉÄÿáaX 6 PýâÁè@æÕäÓÓÿâaX 7 PýÉÆ@@ÓÖÃÁãÉÖÕ@~@}…[ }ôaX 8 PýãÈÅÕÿçaX 9 PýÄÖÿéaX : Pÿ@@ÓÖÃÁãÉÖÕ@~@}@}ûaX ; PýÅÕÄÿèaX < Pýÿ ÉÆ@@ÃÖÓÓÉÄà~@}…[ }ôaX = PýãÈÅÕÿçaX > PýÄÖÿéaX ? Pÿa@@ÃÖÓÓÉÄà~@}@}ûaX @ PýÅÕÄÿèaX A PýçâãÔãÉÄ@~@çòÄMâãÔãÉÄ]øaX B PýâÁè@}çâãÔãÉÄ~}@çâãÔãÉÄ÷aX C Pýa\@š~@\aêaX D Pý"a\@Ö““…ƒ£@£–£“¢@†™–”@ÄÂò@㓇@\aêaX E Pýa\@š~@\aêaÿ X F Pý Ù…„mâãÔãzÿáaX G PÿÿéaX H Pý
ÙÅãÃÖÄÅ@~@ðÿàaX I PÿÿéaX J PýÃÁÓÓ@ÙãÕmƒ–••…ƒ£mÄÂòùaX K PÿÿéaX L Pý a\@â…“…ƒ£@¢£”£•–‰@@¢¨¢—ƒ’¢£”£@\aìaX M PýEâØÓâãÔã@~@âÅÓÅÃã@âãÔãmÉÄk@âãÔãÕÖÉ@@ÆÙÖÔ@âèâÉÂÔKX N Pâèâ×ÁÃÒâãÔã@kùe@æÈÅÙÅ@ÓÖÃÿ ÁãÉÖÕ@~@zÓÖÃÁãÉÖÕç a aà X ÅaX Pàkÿà à ÁÕÄ@ÃÖÓÓÉÄà~@zÃÖÓÓÉÄéaX Pàkÿà àÁÕÄ@ÃÖÕãÖÒÅÕ@~@zÃÖÕãÖÒÅÕçaX Pàkÿà àaÁÕÄ@ÕÁÔÅâ ~@z×ÙÖÇÙÁÔèaX Pà ÿÿåaX PýæâãÔãÕÖÉ@~@ðÿ @@X PýÁÄÄÙÅââ@ÄâÕÙÅççþaX a Pÿ þ!ÅçÅÃâØÓ@ÄÅÃÓÁÙÅ@Ãñ@ÃäÙâÖÙ@ÆÖÙ@âñêaX PýÁÄÄÙÅââ@ÄâÕÙÅççþaX Pþ"ÅçÅÃâØÓ@×ÙÅ×ÁÙÅ@âñ@ÆÙÖÔ@@zâØÓâãÔãéaX
PýÁÄÄÙÅââ@ÄâÕÙÅççþaX PþÅçÅÃâØÓ@Ö×ÅÕáÃñî çaX PýÉÆ@@âØÓÃÖÄÅ@Ln@ðýaX
PýãÈÅÕÿçaX PýÄÖÿéaX PÿàÙÅãÃÖÄÅ@~@`ÿ óò÷öõøaX PÿàÃÁÓÓ@ÙãÕm„‰¢—mâØÓÃÁõaX PÿàâÉÇÕÁÓ@ÙãÕm„‰¢ƒ–••…ƒ£óaX PýÅÕÄÿèaX PÿÿéaX Pý ÙãÕmÆÅãÃÈzÿáaX PýÁÄÄÙÅââ@ÄâÕÙÅççþaX Pþ
ÅçÅÃâØÓ@ÆÅãÃÈà%Ãñ@ÉÕãÖ@@zæâãÔãÉÄk@zæâãÔãÕÖÉ@@X Pà ÿÿåaX Pý
â¨@âØÓÃÖÄÅÿàaX ÿ Pý
â¨@æâãÔãÉÄÿàaX Pýâ¨@æâãÔãÕÖÉÿ @@X e PýÉÆ@@âØÓÃÖÄÅ@~@ñððüaX PýãÈÅÕÿçaX PýÄÖÿéaX Pÿ@@ÙÅãÃÖÄÅ@~@`óò÷ööùaX Pÿ@@âÉÇÕÁÓ@ÙãÕmÃÓÖâÅùaX PýÅÕÄÿèaX ! PýÅÓâÅÿçaX " PýÄÖÿéaX # PþÉÆ@@âØÓÃÖÄÅ@~@@ðüaX $ PþãÈÅÿ ÕÿæaX % PþÄÖÿèaX & Pÿà9âÁè@}ÆÅãÃÈ@æâãÔãÉÄz}@æâãÔãÉÄ@}@`@çâãÔãÉÄ~}@X ' PçâãÔãÉÄûÉÆ@@æâãÔãÉÄ@~@çâãÔãÉÄóaX ( PÿàãÈÅÕÿâaX ) PÿàÄÖÿäaX * PÿäÙÅãÃÖÄÅ@~@æâãÔãÕÖÉòaX + PÿäâÉÇÕÁÓ@ÙãÕmÃÓÖâÅôaX , PÿàÅÕÄÿãaX - PþÅÕÄÿçaX . PþÅÓâÿ ÅÿæaX / PþÄÖÿèaX 0 PÿàÙÅãÃÖÄÅ@~@`óò÷ö÷øaX 1 PÿàÃÁÓÓ@ÙãÕm„‰¢—mâØÓÃÁõaX 2 PÿàâÉÇÕÁÓ@ÙãÕmÃÓÖâÅøaX 3 PþÅÕÄÿçaX 4 PýÅÕÄÿèaX 5 PÿÿéaX 6 PýâÉÇÕÁÓ@ÙãÕmÆÅãÃÈýaX 7 PÿÿéaX 8 Pý ÙãÕmÃÓÖâÅzÿáaX 9 Pý
â¨@ÙÅãÃÖÄÅÿàaX : Pý
Åçÿ ÅÃâØÓ@ÃÓÖâÅàÃñ@øaX ; PýÉÆ@@âØÓÃÖÄÅ@Ln@ðýaX < PýãÈÅÕÿçaX = PýÄÖÿéaX > Pÿ@@ÙÅãÃÖÄÅ@~@`óò÷öøùaX ? Pÿ@@ÃÁÓÓ@ÙãÕm„‰¢—mâØÓÃÁöaX @ PýÅÕÄÿèaX A PÿÿéaX B PýÙãÕm„‰¢ƒ–••…ƒ£zþaX C PýÃÁÓÓ@ÙãÕm„‰¢ƒ–••…ƒ£mÄÂòöaX D PÿÿéaX E Pýÿ ÙÅãäÙÕ@™…£ƒ–„…^þaX F PÿÿéaX G Pýa\@˜~@\aìaX H Pýa\@Ö••…ƒ£@£–@ÄÂòë\aìaX I Pýa\@˜~@\aìaX J PýÙãÕmƒ–••…ƒ£mÄÂòzýaX K PýeÁÄÄÙÅââ@ãâÖ@âäÂÃÖÔ@ÄâÕÙÅççñaX L PýÁÄÄÙÅââ@ÄâÕÙÅçç@ÃÖÕÕÅÃã@ÙÅâÅãîaX M Pýeâ¨@}ÙÅâÅã@âØÓÃÖÄÅz}@âØÓÃÖÄÿ ÅñaX N PýeÁÄÄÙÅââ@ãâÖ@âäÂÃÖÔ@ÄâÕÙÅççñ ‰ i X
ÅaX
PýÉÆ@@ÙÃÿåaX
PýãÈÅÕÿçaX
PýÄÖÿéaX
Pÿ5@@âmÙÃ@~@ÙçâäÂÃÖÔM}ÁÄÄ}k}ÄâÕÙÅçç}k}ÄâÕÙÅçç}]@@X
PýÅÕÄÿèaX
Pý!ÁÄÄÙÅââ@ÄâÕÙÅçç@ÃÖÕÕÅÃã@âØÓãÃââÉëaX
a Pÿ ýÉÆ@@âØÓÃÖÄÅ@Ln@ðýaX
PýãÈÅÕÿçaX
PýÄÖÿéaX
Pÿ@@†“‡mÅÙÙÖÙ@~@ñûaX
Pÿ5@@ÅÙÙÔâÇ@~@}Å™™–™@ƒ–••…ƒ£‰•‡@£–@ÄÂòz}@âØÓãÃââÉX
Pÿ@@ÃÁÓÓ@ÙãÕm„‰¢—mâØÓÃÁöaX
PýÅÕÄÿèaX
PýÙÅãäÙÕ@™…£ƒ–„…^þaX
PÿÿéaX
Pýa\@˜~@\aìaX
Pÿ ýa\@ĉ¢ƒ–••…ƒ£@ÄÂòë\aìaX
Pýa\@˜~@\aìaX
PýÙãÕm„‰¢ƒ–••…ƒ£mÄÂòzúaX
PýeÁÄÄÙÅââ@ÄâÕÙÅçç@ÄÉâÃÖÕÕÅÃãñaX
Pý,âmÙÃ@~@ÙçâäÂÃÖÔM}ÄÅÓÅãÅ}k}ÄâÕÙÅçç}k}ÄâÕÙÅçç}]àaX
PýÙÅãäÙÕ@™…£ƒ–„…^þaX
PÿÿéaX
Pýa\@˜~@\aìaX
Pýa\@ĉ¢—“ÿ ¨@âØÓÃÁì\aìaX
Pýa\@˜~@\aìaX
e PýÙãÕm„‰¢—mâØÓÃÁzþaX
PÿÿéaX
PýâÁè@}âØÓÃÁ@Á™…@É•†–z}÷aX
PýâÁè@}@@âØÓÃÖÄÅ@@~@}âØÓÃÖÄÅóaX
PýâÁè@}@@âØÓÅÙÙÔÃ@~@}âØÓÅÙÙÔÃòaX
PýâÁè@}@@âØÓÅÙÙ×@@~@}âØÓÅÙÙ×óaX
! PýâÁè@}@@âØÓÅÙÙÄ@@~@}âØÿ ÓÅÙÙÄKñ}k}kíaX
" PÿåOO@âØÓÅÙÙÄKò}k}kóaX
# PÿåOO@âØÓÅÙÙÄKó}k}kóaX
$ PÿåOO@âØÓÅÙÙÄKô}k}kóaX
% PÿåOO@âØÓÅÙÙÄKõ}k}kóaX
& PÿåOO@âØÓÅÙÙÄKö÷aX
' PýâÁè@}@@âØÓæÁÙÕ@@~@}âØÓæÁÙÕKð}k}kíaX
( PÿåOO@âØÓæÁÙÕKñ}k}kóaX
) PÿåOO@âØÓæÁÙÕKò}k}ÿ kóaX
* PÿåOO@âØÓæÁÙÕKó}k}kóaX
+ PÿåOO@âØÓæÁÙÕKô}k}kóaX
, PÿåOO@âØÓæÁÙÕKõ}k}kóaX
- PÿåOO@âØÓæÁÙÕKö}k}kóaX
. PÿåOO@âØÓæÁÙÕK÷}k}kóaX
/ PÿåOO@âØÓæÁÙÕKø}k}kóaX
0 PÿåOO@âØÓæÁÙÕKù}k}kóaX
1 PÿåOO@âØÓæÁÙÕKñðöaX
2 PýâÁè@}@@âØÓâÿ ãÁãÅ@~@}âØÓâãÁãÅòaX
3 PýâÁè@}@@ÅÙÙÖÙ@ÔÅââÁÇÅ@~@}@ÅÙÙÔâÇîaX
4 PÿÿéaX
5 PýÙÅãäÙÕ^ÿäaX
6 PÿÿéaX
7 PýÀ a´ ðÀ È %À À È9X
8 PÀ À a$ Ô ðÀ È ZÀ À È hÀ À ÈlX
9 PÀ À aH €Àa a`Ç p | ˆÀ ˆ
¨À Ðÿ
¨À ÅaX
: PÀ ƒÀ Àa a`Ç p | ˆÀ ¼ €À Ô
pÀ à œÀ ìX
; P
ŒÀ ° ôßÛaX
< PßßÉaX
= PßßÉaX
> PßßÉaX
? PßßÉaX
@ PßßÉaX
A PßßÉaX
B PßßÉaX
C PßßÉaX
D PßßÉaX
E PßßÉaX
F PßßÉaX
G PßßÉaÿ X
H PßßÉaX
I PßßÉaX
J PßßÉaX
K PßßÉaX
L PßÕ @È @Æ
X
M P @Â Â
X€ Â
h€ Â
x€ Â
˜€ Â
´€ Â
Ѐ X
N P Â
ì€ Â€ Â$€ Â@€ ÂX€ ÿ p€ ÿÿ€ €
í X Å&X P€ ÿÿ€ÿ ”€ ÿÿ€ ¨€ ÿÿ€À¼€ ÂЀ Âà€ Âð€ ÀX P € € Â(€ ÂD€ ÂX€ Âp€ „€ X P ”€ ¼€ ÂÔ€ Âô€ Â$€ Âd€ ”X P€ ÂÄ€ Âà€ Âð€  € €ÿ ÂD€ ÀX P \€ Ât€ ÂX€ Âx€ ”€ ¤€ Â
´€ X PÃÌ€Áa Ü€Áa
ì€Áad ü€Áa €Áa €Á ,X a P€Áa <€Áa L€Áaa \€Áa l€Áa |€Éÿ œX PŠĀȄ Œ Äa€ÿ ÿ hà œ Ä€À„X P ¼ ô ° Ä€Ã
Ø€ Ä Ä€Æ€ ¼ Ø Ä€ X
P H œ ì Ä€È , Äa€ÿ à H Ä
X P€À , d€ ô ( Ä€Ã
€€ H < Āƀ d P ÀaX PÁ€ ô
D P d Ä€È Ô ÿ x Äa€ÿ ¸Ã ð ŒX
P Ä€À Ô
D Ä€Ã
Using python charset library I have detected the type of encoding on the source data. It detected EBCDIC. Although I couldn't detect what variant of EBCDIC is it US, UK, Germany etc. so can I can try using respective code pages to test out. Here is my EBCDIC to ASCII conversion code written in python.....
import os
import codecs
def read_ebcdic_file(file_path, chunk_size):
"""
Reads the specified number of bytes from an EBCDIC file.
"""
with open(file_path, 'rb') as f:
return f.read(chunk_size)
def convert_ebcdic_to_ascii(ebcdic_data, codepage):
"""
Decodes EBCDIC data to ASCII using the specified code page.
"""
try:
text_data = codecs.decode(ebcdic_data, codepage).encode('utf-8')
return text_data.decode('utf-8')
except UnicodeDecodeError:
print(f"Error decoding character in EBCDIC data using codepage {codepage}. Skipping this character.")
return ""
def convert_and_save(ebcdic_file, codepage, chunk_size):
"""
Converts EBCDIC data to ASCII using the provided code page and saves it to a file in the same directory as the input file.
"""
input_folder, input_filename = os.path.split(ebcdic_file)
output_file = os.path.join(input_folder, f"converted_{input_filename}")
with open(output_file, 'w') as f_out:
with open(ebcdic_file, 'rb') as f_in:
while True:
ebcdic_data_chunk = f_in.read(chunk_size)
if not ebcdic_data_chunk:
break # End of file
text_data = convert_ebcdic_to_ascii(ebcdic_data_chunk, codepage)
f_out.write(text_data)
print(f"Converted data using {codepage} code page and saved to {output_file}")
if __name__ == "__main__":
ebcdic_file = "T_AVIS_NOV23_FROM_USB_AFTER_EXTRACT.txt"
codepage = "ebcdic-cp-us"
chunk_size = 100 * 1024 * 1024 # 100 MB
convert_and_save(ebcdic_file, codepage, chunk_size)
1 Like
Sue. I will message you personally. Let's figure something out.
Please wrap your sample/code in triple backticks markdowns!
Like this
```
print ("hello")
print ("world")
```
Thanks for your insight. I deeply appreciate it. I have used Emeditor tool to view these raw source data files in the source data file it detected western european windows 1252 ( cp1252) . But when I run my program to detect encoding it says EBCDIC. Also I have tried cp1252 to ascii the final output data made no sense. I have used this cmd and converted 100 lines from the source data into base 64. Would greatly appreciate your help in understanding which path I should follow.
head -n 100 T_AVIS_NOV23_FROM_USB_AFTER_EXTRACT.txt | base64 -w 0 > encoded_output.txt
T+DJ1dTZ8PEAQgABAAFQEBEAAQAE1OXi8RASAAEAB8HX08HD8PIQAQABAAHnEAIAAQAB5xAkAAEADvLw8vLx8fLz8fjy9/D0EC8AAQABAWTgydXU2fDyAAAAARAoAAEAB8nV1MPW1+iAGAABAAQAACtOADwAAQACQAAAQgABAAQAAAAAADAAAQAEAABtXgBJAAEAAsAAAAIAAwAHwdfTwcPw8gAGxMTVwdTFAAbi6OLk4/Eq4MnV1Nnw84AYAAEABAAAK04APAABAAJAAABCAAEAAgBQAEkAAQACAAFcwAAAAAEBAQBaEBCAAgABAAABIjJ/EyVEIlAAEiAybV4ASoAAOASAAAAAAAAAbV4AAAAAAAAAAAAAAEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAAAAgEBFfsQEEAAAAEAABnJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLw8XnxcMbycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8TC8sPUxOIgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8PFL4/L08/jz8yDJw8bDweNL5ePi1tTw8UBAQP8AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvE8PDyS+P29fj49PkgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8PNL4/T19/T59yDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLxPDw9Evj+PL09PL2IMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQP8AQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8PVL4/L08vj29CDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLxPDw9kvj9/ny8vj0IMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvE8PD3S+P29/Xz9PEgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL1/8AyPFLxPDw+Evj8/n0+PnxIMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvE8PD5S+Px9Pn08fAgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8fBL4/P58/fy9yDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLxPDx8Uvj9ffy8fb3IMnDxsPB4/8AS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8fJL4/Xy9vXw+SDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLxPDx80vj9fHw8vb1IMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvE8PH0S+P59/Ly9fQgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQP8AQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLxPDx9Uvj+PX48fP1IMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvE8PH2S+Py9fX19/UgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8fdL4/X49PPy9yDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8P8A8kvi2NPCweLFS9fI8UvE8PH4S+P18fD18/UgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8flL4/jz9fL19iDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLxPDy8Evj9fT3+fDwIMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvE8PLxS+P29v8A9PPw8yDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLxPDy8kvj+fP49PHyIMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvE8PLzS+Pz9ffx9vQgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8vRL4/Ty+PX29iDJw8bDweNL5ePi1tTw8UBAQP8AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvE8PL1S+Px8/P48fAgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8vZL4/T38PHx9yDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLxPDy90vj9PTz8vj5IMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQP8AQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS8Tw8vhL4/f19vT49SDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFLxPDy+Uvj+PLw+PH2IMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvE8PPwS+P4+Pjy9/ggycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL1/8AyPFLxPDz8Uvj8/H5+fn4F8nDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8UvRw9MYycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS9PTycIYycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS9TTycIYycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQP8AQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL19PJwhjJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4tPJwhrJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4uji1uTjHMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8Uvi6OLj4tfZ4yDJw/8AxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8Uvi8PDxS+Py9/H1+PQgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS+Lw8PJL4/P2+Pnz9CDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4vDw80vj8/b2+ffwIMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQP8AQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS+Lw8PRL4/fw9vH48yDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4vDw9Uvj8/nx+PDxIMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8Uvi8PD2S+P48PT1+PAgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB1/8A08HD8PJL4tjTwsHixUvXyPFL4vDw90vj8/Hy9vHxIMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8Uvi8PD4S+Px8Pf58/UgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS+Lw8PlL4/b4+PPw9iDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4vDx8P8AS+Pz9fj58PcgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS+Lw8fFL4/n39fj28CDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4vDx8kvj8fb08ff3IMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8Uvi8PHzS+Py8/P58vIgycPGw8HjS+Xj4tbU8P8A8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4vDx9Evj9vP2+PjwIMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8Uvi8PH1S+P38PDx8vAgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS+Lw8fZL4/T3+PHx9CDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQP8AQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8Uvi8PH3S+P09ff08PkgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS+Lw8fhL4/L09/L48yDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4vDx+Uvj8/Ty+PLxIMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCwf8A4sVL18jxS+Lw8vBL4/L29vfz9yDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4vDy8Uvj8vX1+fD4IMnDxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8Uvi8PLyS+P38PH28fYgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS+Lw8vNL4/X58vT38CDJw/8AxsPB40vl4+LW1PDxQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAwdfTwcPw8kvi2NPCweLFS9fI8Uvi8PL0S+Pz8/Px9fMgycPGw8HjS+Xj4tbU8PFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDB19PBw/DyS+LY08LB4sVL18jxS+Lw8vVL4/jy9Pny9CDJw8bDweNL5ePi1tTw8UBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMHX08HD8PJL4tjTwsHixUvXyPFL4vDy9kvj8fjw8fL0IMnDxsPB40vl4+LW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IZDABFAAACHgwAxQBVgACBYAAFAAACIwwARQAAAigMAEUAAAItDABFAAACMgwARQAAAjcMAEUAAAI8DABFAAACQQwARQAAAkYMAEUAAAJLDAA1AAACXBDFAF/wBYAAgXAABQAAAlUMAEUAAAJaDABFAAACXwwARQAAAmQMAEUAAAJpDABFAAACbgwARQAAAnMMAEUAAAJ4DABFAAACfQwARQAAAoIMAMUAVYAAgYAABQAAAocMAEUAAAKMDABFAAACkQwARQAAApYMAEUAAAKbDAA1AAACrBBFAAACpQwARQAAAqoMAEUAAAKvDABFAAACtAwAxQBVgACBkAAFAAACuQwARQAAAr4MAEUAAALDDABFAAACyAwARQAAAs0MAEUAAALSDABFAAAC1wwARQAAAtwMAEUAAALhDABFAAAC5gwAxQBVgACBoAAFAAAC6wwANQAAAvwQRQ/wAAAC9QwARQAAAvoMAEUAAAL/DABFAAADBAwARQAAAwkMAEUAAAMODABFAAADEwwARQAAAxgMAMUAVYAAgbAABQAAAx0MAEUAAAMiDABFAAADJwwARQAAAywMAEUAAAMxDABFAAADNgwARQAAAzsMADUAAANMEEUAAANFDABFAAADSgwAxQBVgACBwAAFAAADTwwARQAAA1QMAEUAAANZDABFAAADXgwARQAAA2MMAEUAAANoDABFAAADbQwARQAAA3IMAEUAAAN3DABFAAADfAwAxQBVgACB0AAFAAADgQwARQAAA4YMAEUAAAOLDAA1AAADnBBFAAADlQwARQ/wAAADmgwARQAAA58MAEUAAAOkDABFAAADqQwARQAAA64MAMUAVYAAgeAABQAAA7MMAEUAAAO4DABFAAADvQwARQAAA8IMAEUAAAPHDABFAAADzAwARQAAA9EMAEUAAAPWDABFAAAD2wwANQAAA+wQxQBVgACB8AAFAAAD5QwARQAAA+oMAEUAAAPvDABFAAAD9AwARQAAA/kMAEUAAAP+DABFAAAEAwwARQAABAgMAEUAAAQNDABFAAAEEgwAxQBVgACCAAAFAAAEFwwARQAABBwMAEUAAAQhDABFAAAEJgwARQAABCsMADUAAAQ8EEUAAAQ1DABFAAAEOgwARQ/wAAAEPwwARQAABEQMAMUAVYAAghAABQAABEkMAEUAAARODABFAAAEUwwARQ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
An interesting experiment, but I fear it will prove to the fruitless.
There is a fundamental contradiction in the original question.
(a) "I need help in converting data EBCDIC to Ascii."
(b) "I am looking to find SMF records in the final output."
It is well-established that SMF is not a character-based format. The fact that less than 15% of the supplied data matches characters A-Za-z0-9.,
suggests there is minimal free text present.
Characters are held in bytes. As a side-issue, there exist multi-byte extensions e.g. UTF-8. But the fundamental character set A-Z a-z 0-9
in both ASCII and EBCDIC are each single-byte values.
SMF uses binary fields in its record formats. 0x4D 0x7E
is not (=
in EBCDIC and therefore translatable to 0x28 0x3D
in ASCII. It is a 16-bit integer with value 19838
. Translating it as two separate bytes to ASCII (=
and ending up with the integer 10301
is incorrect. We need to parse the input according to the SMF specification of which data types are where, and to keep binary values as unchanged bit-sequences. (Except for dealing with another source of joy -- little-endian issues, and possibly non-IEEE issues.)
I looked (briefly) at some IBM documentation on SMF, and it listed about 150 record types. Constructing a decode method for each of those is a major task, even assuming the documentation is correct.
There must be some reporting mechanism on the IBM side which would output the SMF in pure text. Once that has been done with IBM software, a character translation would be trivial.
1 Like
As the file format appears to be largely binary-coded values (whose individual 8-bit values are random 8-bit sections of binary), probably only 25% of the data is actually appearing as alphanumerics. So any code that samples it to decide what kind of text it is will be guessing wildly.
As an example of the issues, your head -n 100
will not be selecting the first 100 lines, because head
will be searching for ASCII newline (0x0A), and not EBCDIC newline (LF) (0x25).
I am getting some plain text out of a subset of the base64
data (which means your original sample data as posted has been mangled by some locale or cut-paste side-effects): fragments like:
INMR01
MVS1
20221123182704
APLAC02.SQLBASE.PH1.CEXEC
but these are interspersed with many binary zeros (which as this has been through a character conversion means nothing significant).
Unless you can extract some readable data from the IBM system, this is a major task, for which I would quote two months fees (if I was not retired).
@arohyadav ,
Which OS are you running on ?
Where did this data originate ?, go back and ask who ever gave you the data to translate it.
Do not post your email address, this is a public forum , all comms are for the benefit for all community users, refer to the forum FAQ's
1 Like
I found a couple of references to the IBM z/OS MVS SMF data specification. They are each well over 1,000 pages. I particularly liked Record Type 90, because it has 39 Subtypes.
I was wrong about 2-byte binary. It has binary as 1, 2, 4 and 8 bytes; floating-point as 4 and 8 bytes; packed (Binary Coded Decimal -- two 4-bit decimal digits in each byte, the final 4 bits being a Hex A-F denoting the sign); and EBCDIC text.