The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Hoog Niveau Programmering
.
google unix.com



Hoog Niveau Programmering Post vragen over C, C + +, Java, SQL, en andere programmeertalen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Hoe om te controleren of het weer is het een ebcdic bestand of niet c_chaitanya UNIX voor Dummies Questions & Answers 0 04-03-2008 06:10
ASCII naar EBCDIC conversie er_ashu Programmeren en Shell Scripting 1 02-01-2008 05:43 PM
Display EBCDIC als Personages LouPelagalli AIX 1 08-09-2005 03:07 PM
Vergelijking van EBCDIC bestanden RishiPahuja Programmeren en Shell Scripting 2 07-08-2005 03:28
Unix to EBCDIC conversie Bab00shka UNIX voor Dummies Questions & Answers 2 01-20-2005 12:58

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 11-24-2008
junaid.nehvi junaid.nehvi is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posts: 19
Omzetten HEX naar EBCDIC IN C

Ik wil Hex-waarde om te zetten in EBCDIC waarde.
Ik heb geprobeerd om te zetten hexadecimale ascii en vervolgens naar EBCDIC, maar het geeft niet de gewenste resultaten.

het geeft niet overeenkomt EBCDIC waarde in plaats daarvan geeft wat rommel waarden.
bv;
Hex EBCDIC
-----------------
81 een
82 b
83 C
84 d
85 e
86 F
87 g
88 h
89 i


Hex EBCDIC
-----------------
C1 Een
C2 B
C3 C
C4 D
C5 E
C6-F
C7 G
C8-H
C9 I


code is als volgt:
//************************************************* *******************
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <ctype.h>
# include <time.h>
static unsigned char a2e [256] \u003d (
0, 1, 2, 3, 55, 45, 46, 47, 22, 5, 37, 11, 12, 13, 14, 15,
16, 17, 18, 19, 60, 61, 50, 38, 24, 25, 63, 39, 28, 29, 30, 31,
64, 79127123, 91.108, 80.125, 77, 93, 92, 78.107, 96, 75, 97,
240.241.242.243.244.245.246.247.248.249.122, 94, +76126110111,
124.193.194.195.196.197.198.199.200.201.209.210.211.212.213.214,
215.216.217.226.227.228.229.230.231.232.233, 74.224, 90, 95.109,
121.129.130.131.132.133.134.135.136.137.145.146.147.148.149.150,
151.152.153.162.163.164.165.166.167.168.169.192.106.208.161, 7,
32, 33, 34, 35, 36, 21, 6, 23, 40, 41, 42, 43, 44, 9, 10, 27,
48, 49, 26, 51, 52, 53, 54, 8, 56, 57, 58, 59, 4, 20, 62.225,
65, 66, 67, 68, 69, 70, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87,
88, 89, 98, 99.100.101.102.103.104.105.112.113.114.115.116.117,
118.119.120.128.138.139.140.141.142.143.144.154.155.156.157.158,
159.160.170.171.172.173.174.175.176.177.178.179.180.181.182.183,
184.185.186.187.188.189.190.191.202.203.204.205.206.207.218.219,
220.221.222.223.234.235.236.237.238.239.250.251.252.253.254.255
);
static unsigned char e2a [256] \u003d (
0, 1, 2, 3156, 9.134.127.151.141.142, 11, 12, 13, 14, 15,
16, 17, 18, 19157133, 8135, 24, 25146143, 28, 29, 30, 31,
128.129.130.131.132, 10, 23, 27.136.137.138.139.140, 5, 6, 7,
144.145, 22.147.148.149.150, 4.152.153.154.155, 20, 21.158, 26,
32.160.161.162.163.164.165.166.167.168, 91, 46, 60, 40, 43, 33,
38.169.170.171.172.173.174.175.176.177, 93, 36, 42, 41, 59, 94,
45, 47.178.179.180.181.182.183.184.185.124, 44, 37, 95, 62, 63,
186.187.188.189.190.191.192.193.194, 96, 58, 35, 64, 39, 61, 34,
195, 97, 98, 99.100.101.102.103.104.105.196.197.198.199.200.201,
202.106.107.108.109.110.111.112.113.114.203.204.205.206.207.208,
209.126.115.116.117.118.119.120.121.122.210.211.212.213.214.215,
216.217.218.219.220.221.222.223.224.225.226.227.228.229.230.231,
123, 65, 66, 67, 68, 69, 70, 71, 72, 73.232.233.234.235.236.237,
125, 74, 75, 76, 77, 78, 79, 80, 81, 82.238.239.240.241.242.243,
92.159, 83, 84, 85, 86, 87, 88, 89, 90.244.245.246.247.248.249,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57.250.251.252.253.254.255
);
char ASCIItoEBCDIC (const unsigned char c)
(
terug a2e [c];
)
char EBCDICtoASCII (const unsigned char c)
(
terug e2a [c];
)
int main ()
(
char outarr [10];
int i \u003d 0, j \u003d 0;
char hexval [10] \u003d "c1c2c3c4c5";
char newstrValue;
char hexToAscii (eerste char, char seconden)
(
char hex [5], * stop te zetten;
hex [0] \u003d '0 ';
hex [1] \u003d 'x';
hex [2] \u003d eerste;
hex [3] \u003d seconden;
hex [4] \u003d 0;
terug strtol (hex, en te stoppen, 16);
)
for (i \u003d 0; i <10; i + +)
(
outarr [j] \u003d hexToAscii (hexval [i], hexval [i + 1]);

outarr [j] \u003d ASCIItoEBCDIC (outarr [j]);
printf ( "EBCDIC waarde is% c \ n", outarr);
)

exit (0);
)
//************************************************* *******************

aftre compileren krijg ik volgende resultaat.

$>. / ebcdictoascii
EBCDIC waarde is:
EBCDIC waarde is:
EBCDIC waarde is:
EBCDIC waarde is:
EBCDIC waarde is:
EBCDIC waarde is:
EBCDIC waarde is:
EBCDIC waarde is:
EBCDIC waarde is:
EBCDIC waarde is:
  #2 (permalink)  
Old 11-24-2008
jlliagre jlliagre is offline Forum Advisor  
ɹǝsn sıɹɐlosuǝdo
  
 

Join Date: december 2007
Locatie: Paris
Berichten: 1.478
Ik was zelfs verrast uw code opgesteld.

Hier is het ook met Fixed several bugs:

Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <time.h>
static unsigned char a2e[256] = {
0, 1, 2, 3, 55, 45, 46, 47, 22, 5, 37, 11, 12, 13, 14, 15,
16, 17, 18, 19, 60, 61, 50, 38, 24, 25, 63, 39, 28, 29, 30, 31,
64, 79,127,123, 91,108, 80,125, 77, 93, 92, 78,107, 96, 75, 97,
240,241,242,243,244,245,246,247,248,249,122, 94, 76,126,110,111,
124,193,194,195,196,197,198,199,200,201,209,210,211,212,213,214,
215,216,217,226,227,228,229,230,231,232,233, 74,224, 90, 95,109,
121,129,130,131,132,133,134,135,136,137,145,146,147,148,149,150,
151,152,153,162,163,164,165,166,167,168,169,192,106,208,161, 7,
32, 33, 34, 35, 36, 21, 6, 23, 40, 41, 42, 43, 44, 9, 10, 27,
48, 49, 26, 51, 52, 53, 54, 8, 56, 57, 58, 59, 4, 20, 62,225,
65, 66, 67, 68, 69, 70, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87,
88, 89, 98, 99,100,101,102,103,104,105,112,113,114,115,116,117,
118,119,120,128,138,139,140,141,142,143,144,154,155,156,157,158,
159,160,170,171,172,173,174,175,176,177,178,179,180,181,182,183,
184,185,186,187,188,189,190,191,202,203,204,205,206,207,218,219,
220,221,222,223,234,235,236,237,238,239,250,251,252,253,254,255
};
static unsigned char e2a[256] = {
0, 1, 2, 3,156, 9,134,127,151,141,142, 11, 12, 13, 14, 15,
16, 17, 18, 19,157,133, 8,135, 24, 25,146,143, 28, 29, 30, 31,
128,129,130,131,132, 10, 23, 27,136,137,138,139,140, 5, 6, 7,
144,145, 22,147,148,149,150, 4,152,153,154,155, 20, 21,158, 26,
32,160,161,162,163,164,165,166,167,168, 91, 46, 60, 40, 43, 33,
38,169,170,171,172,173,174,175,176,177, 93, 36, 42, 41, 59, 94,
45, 47,178,179,180,181,182,183,184,185,124, 44, 37, 95, 62, 63,
186,187,188,189,190,191,192,193,194, 96, 58, 35, 64, 39, 61, 34,
195, 97, 98, 99,100,101,102,103,104,105,196,197,198,199,200,201,
202,106,107,108,109,110,111,112,113,114,203,204,205,206,207,208,
209,126,115,116,117,118,119,120,121,122,210,211,212,213,214,215,
216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,
123, 65, 66, 67, 68, 69, 70, 71, 72, 73,232,233,234,235,236,237,
125, 74, 75, 76, 77, 78, 79, 80, 81, 82,238,239,240,241,242,243,
92,159, 83, 84, 85, 86, 87, 88, 89, 90,244,245,246,247,248,249,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,250,251,252,253,254,255
};

unsigned char ASCIItoEBCDIC(const unsigned char c)
{
  return a2e[c];
}
unsigned char EBCDICtoASCII(const unsigned char c)
{
  return e2a[c];
}
unsigned char hexToAscii(char first, char second)
{
  char hex[5], *stop;
  hex[0]='0';
  hex[1]='x';
  hex[2]=first;
  hex[3]=second;
  hex[4]=0;
  return (unsigned char)strtol(hex, &stop, 16);
}
int main()
{
  unsigned char outarr[10];
  int i=0,j=0;
  char hexval[10]="4041424344";
  for (i=0; i<10 ;i+=2)
  {
    outarr[j]= hexToAscii(hexval[i], hexval[i + 1]);
    printf("ascii value is %d %c\n",outarr[j], outarr[j]);
    outarr[j]=ASCIItoEBCDIC(outarr[j]);
    printf("ebcdic value is %d\n", outarr[j]);
  }
  exit(0);
}

  #3 (permalink)  
Old 11-25-2008
junaid.nehvi junaid.nehvi is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posts: 19
Re: te jlliagre

Ik was zelfs verrast uw code opgesteld.

Hier is het ook met Fixed several bugs:
.
.
.
.
dank voor uw aandacht
Maar voor
char hexval [10] \u003d "c1c2c3c4c5";
Ik verwacht EBCDIC waarden als:
Een
B
C
D
E
but i am getting
ascii waarde is 193 A
EBCDIC waarde is 119
ascii waarde is 194 A
EBCDIC waarde is 120
ascii waarde is 195 A
EBCDIC waarde is 128
ascii waarde is 196 Ä
EBCDIC waarde is 138
ASCII-waarde bedraagt 197 Å
EBCDIC waarde is 139



Hoe kan ik de waarden zoals ABCD E. ......
  #4 (permalink)  
Old 11-25-2008
junaid.nehvi junaid.nehvi is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posts: 19
voor char hexval [10] \u003d "c1c2c3c4c5";
Ik verwacht EBCDIC waarden als:
Een
B
C
D
E
but i am getting
ascii waarde is 193 A
EBCDIC waarde is 119
ascii waarde is 194 A
EBCDIC waarde is 120
ascii waarde is 195 A
EBCDIC waarde is 128
ascii waarde is 196 Ä
EBCDIC waarde is 138
ASCII-waarde bedraagt 197 Å
EBCDIC waarde is 139



Hoe kan ik de waarden zoals ABCD E. ......
  #5 (permalink)  
Old 11-25-2008
jlliagre jlliagre is offline Forum Advisor  
ɹǝsn sıɹɐlosuǝdo
  
 

Join Date: december 2007
Locatie: Paris
Berichten: 1.478
Waarom verwacht u binnenkort weer te geven 0xC1 A?
0xC1 in "ASCII" (eigenlijk ISO-latin1) is een.
  #6 (permalink)  
Old 11-25-2008
junaid.nehvi junaid.nehvi is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Posts: 19
Re: te jlliagre

Waarom verwacht u binnenkort weer te geven 0xC1 A?
0xC1 in "ASCII" (eigenlijk ISO-latin1) is een.
*********************************
de EBCDIC equivalent van 0xc1 is A
en ik heb naar EBCDIC gelijkwaardig Niet print ASCII-equivalent


Ik veranderde volgende array
static unsigned char a2e [256] \u003d (
0, 1, 2, 3, 55, 45, 46, 47, 22, 5, 37, 11, 12, 13, 14, 15,16,
+17, 18, 19, 60, 61, 50, 38, 24, 25, 63, 39, 28, 29, 30, 31,64,
79.127.123, 91.108, 80.125, 77, 93, 92, 78.107, 96, 75, 97,30,31,
32.243.244.245.246.247.248.249.122, 94, 76,126,110,111,32,193,194,
195,196,197,198,199,200,201,209,46,60,40,124,214,38,216,217,226,
227,228,229,230,231,232,33, 36,42, 41, 59,109,45,47,130,131,132,133,
134,135,136,137,145,44,37,95,62,63,151,152,153,162,163,164,165,166,
167,168,58,35,64,39,61, 34,32, 97, 98, 99, 100, 101, 102, 103, 104, 105, 1,
43, 44, 9, 10, 27,48, 106, 107, 108, 109, 110, 111, 112, 113, 114, 58, 59,
4, 20, 62,225,65, 66, 115, 116, 117, 118, 119, 120, 121, 122, 82, 83, 84, 85,
86, 87,88, 89, 98, 99,100,101,102,103,104,96,112,113,114,115,116,117,118,65,66,
67,68,69,70,71,72,73,144,154,155,156,157,158,159,74,75,76,77,78,79,80,81,82,178,
179,180,181,182,183,184,185,83,84,85,86,87,88,89,90,204,205,206,207,218,219,30,
31,32,33,34,35,36,37,38,39,250,251,252,253,254,255
);


en gedrukte outarr als personage
Ik krijg juiste waarden voor alfabetten
maar niet voor de cijfers
Ik gebruik hebben gemaakt van onderstaande tabel

December Hex ASCII-EBCDIC december Hex ASCII-EBCDIC
---------------------- -----------------------
0 0 NUL NUL 32 20 DS
1 1 SOH SOH 33 21! SOS
2 2 STX STX 34 22 "FS
3 3 ETX ETX 35 23 # WUS
4 4 EOT SEL 36 24 $ Byp / INP
5 5 ENQ HT 37 25% LF
6 6 ACK RNL 38 26 & ETB
7 7 BEL DEL 39 27 "ESC
8 8 BS GE 40 28 (SA
9 9 TAB SPS-41 29) SFE
10 A LF RPT 42 2A * SM / SW
11 B VT VT 43 2B + CSP
12 C FF FF 44 2C, MFA
13 D CR CR 45 2D - ENQ
14 E SO SO 46 2E. ACK
15 F SI SI 47 2F / BEL
16 10 DLE DLE 48 30 0
17 11 DC1 DC1 49 31 1
18 12 DC2 DC2 50 32 2 SYN
19 13 DC3 DC3 51 33 3 IR
20 14 DC4 RES / ENB 52 34 4 PP
21 15 NAK NL 53 35 5 TRN
22 16 SYN BS 54 36 6 NBS
23 17 ETB POC 55 37 7 EOT
24 18 CAN CAN 56 38 8 SBS
25 19 EM EM 57 39 9 IT
26 1A SUB UBS 58 3A: RFF
27 1B ESC CU 1 59 3B; CU3
28 1C IFS FS 60 3C <DC4
29 1D GS IGS 61 3D \u003d NAK
30 1E RS IRS 62 3E>
31 1F US ITB / IUS 63 3F? SUB

December Hex ASCII-EBCDIC december Hex ASCII-EBCDIC
------------------------ ------------------------
64 40 @ SP 96 60 `_
65 41 Een RSP 97 61 a /
66 42 B 98 62 b
67 43 C 99 63 C
68 44 D 100 64 d
69 45 E 101 65 e
70 46 F 102 66 f
71 47 G 103 67 g
72 48 H 104 68 h
73 49 I 105 69 I
74 4A J 106 6A j |
75 4B K. 107 6B k,
76 4C L <108 6C l%
77 4D M (109 m 6D _
78 4E N + 110 6E n>
79 4F O | 111 6F o?
80 50 P & 112 70 p
81 51 V 113 71 q
82 52 R 114 72 r
83 53 S 115 73 s
84 54 T 116 74 t
85 55 U 117 75 u
86 56 V 118 76 v
87 57 W 119 77 w
88 58 x 120 78 x
89 59 Y 121 79 y `
90 5A Z! 122 7A z:
91 5B [123 dollar 7B (#
92 5C \ * 124 7C | @
93 5D]) 125 7D) '
94 5E ^; 126 7E ~ \u003d
95 5F _ 127 7F DEL "

December Hex ASCII-EBCDIC december Hex ASCII-EBCDIC
------------------------ ------------------------
128 80 160 A0
129 81 een 161 A1
130 82 b 162 A2 s
131 83 C 163 A3 t
132 84 D 164 A4 U
133 85 e 165 A5 v
134 86 f 166 A6 w
135 87 g 167 x A7
136 88 uur 168 A8 y
137 89 i 169 A9 z
138 8A 170 AA
139 8B (171 GB
140 8C 172 AC
141 8D 173 AD [
142 8E 174 AE
143 8F + 175 AF
144 90 176 B0
145 91 j 177 B1
146 92 k 178 B2
147 93 l 179 B3
148 94 m 180 B4
149 95 n 181 B5
150 96 o 182 B6
151 97 p 183 B7
152 98 q 184 B8
153 99 r 185 B9
154 9A 186 BA
155 9B) 187 BB
156 9C 188 v.Chr
157 9D 189 BD
158 9E 190 BE
159 9F 191 BF

December Hex ASCII-EBCDIC december Hex ASCII-EBCDIC
------------------------ ------------------------
192 C0 224 E0
193 C1-A 225 E1
194 C2-B-226 E2 S
195 C3 C 227 T E3
196 C4 D 228 E4 U
197 C5 E 229 E5 V
198 C6 F 230 E6 W
199 C7 G 231 X E7
200 C8-H 232 E8 Y
201 C9 I 233 E9 Z
202 CA 234 EA
203 CB 235 EB
204 CC 236 EG
205 CD-237 ED
206 CE 238 EE
207 CF 239 EF
208 D0 240 F0 0
209 D1 J 241 F1 1
210 D2 K 242 F2 2
211 D3 L 243 F3 3
212 D4 M 244 F4 4
213 D5 N 245 F5 5
214 D6 O 246 F6 6
215 D7 P 247 F7 7
216 D8 Q 248 F8 8
217 D9 R 249 F9 9
218 DA 250 FA
219 DB 251 FB
220 DC-252 FC
221 DD 253 FD
222 DE-254 FE
223 DF 255 FF
Voor 0XC1 EBCDIC waarde is een
dus op positie 193 van array-i hebben gezet waarde \u003d 65
als 0x65 in ASCII is een


het werkt voor alfabetten

Laatst gewijzigd door junaid.nehvi; op 11.25.2008 10:02..
  #7 (permalink)  
Old 11-25-2008
jlliagre jlliagre is offline Forum Advisor  
ɹǝsn sıɹɐlosuǝdo
  
 

Join Date: december 2007
Locatie: Paris
Berichten: 1.478
Uw code wordt gebruikt 0xC1 als een ASCII-waarde, en niet een EBCDIC een.
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 03:02.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0