![]() |
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Magas szintű Programozás Post kérdések C, C + +, Java, SQL, és más programozási nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Hogyan ellenőrzik az időjárás az egy EBCDIC fájlt vagy nem | c_chaitanya | A UNIX a dummies Kérdések és válaszok | 0 | 04-03-2008 05:10 AM |
| ascii EBCDIC az átalakítás | er_ashu | Shell programozás és Scripting | 1 | 02-01-2008 05:43 PM |
| Display EBCDIC a karakterek | LouPelagalli | AIX | 1 | 08-09-2005 02:07 PM |
| Comparing EBCDIC files | RishiPahuja | Shell programozás és Scripting | 2 | 07-08-2005 02:28 AM |
| Unix az EBCDIC átalakítás | Bab00shka | A UNIX a dummies Kérdések és válaszok | 2 | 01-20-2005 12:58 PM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Konvertálás EBCDIC HEX a C -
akarom váltani Hex érték EBCDIC érték.
próbáltam konvertálni hexa ascii EBCDIC majd, de nem adja a kívánt eredményt. az nem ad megfelelő EBCDIC érték helyett ez ad némi junk értékeket. eg; Hex EBCDIC - ----------------- 81 a 82 b 83 c 84 d 85 e 86 f 87 g 88 óra 89 i Hex EBCDIC - ----------------- C1 A A C2 B - C3 C -C4 D E C5 - C6 F - G C7 - -C8 H - -C9 I kód szerint: //************************************************* ******************* # 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, 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, 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, 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 ); char ASCIItoEBCDIC (const unsigned char c) ( return a2e [c]; ) char EBCDICtoASCII (const unsigned char c) ( return e2a [c]; ) int main () ( char outarr [10]; int i \u003d 0, j \u003d 0, char hexval [10] \u003d "c1c2c3c4c5"; char newstrValue; hexToAscii char (char első, a második karakter) ( hex char [5], * stop; hex [0] \u003d '0 '; hex [1] \u003d 'x'; hex [2] \u003d első; hex [3] \u003d második; hex [4] \u003d 0; strtol return (hex, & stop, 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 érték% c \ n", outarr); ) exit (0); ) //************************************************* ******************* aftre összeállítása én kap a következő eredményt. $>. / ebcdictoascii ből EBCDIC értéke: ből EBCDIC értéke: ből EBCDIC értéke: ből EBCDIC értéke: ből EBCDIC értéke: ből EBCDIC értéke: ből EBCDIC értéke: ből EBCDIC értéke: ből EBCDIC értéke: ből EBCDIC értéke: |
|
||||
|
Én is meglepett a kódot összeállítani.
Itt van ez a több hibák javítása: Kód:
#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);
}
|
|
||||
|
Re: a jlliagre
Én is meglepett a kódot összeállítani.
Itt van ez a több hibák javítása: . . . . Köszönöm a figyelmet De a char hexval [10] \u003d "c1c2c3c4c5"; várom EBCDIC értékek: Egy B C D E de kapok ascii értéke 193 Á EBCDIC értéke 119 ascii értéke 194 Â EBCDIC értéke 120 ascii értéke 195 Ã EBCDIC értéke 128 ascii értéke 196. A EBCDIC értéke 138 ascii értéke 197 Å EBCDIC értéke 139 hogyan tud én kap az értékeket, mint ABCD E. ...... |
|
||||
|
A char hexval [10] \u003d "c1c2c3c4c5";
várom EBCDIC értékek: Egy B C D E de kapok ascii értéke 193 Á EBCDIC értéke 119 ascii értéke 194 Â EBCDIC értéke 120 ascii értéke 195 Ã EBCDIC értéke 128 ascii értéke 196. A EBCDIC értéke 138 ascii értéke 197 Å EBCDIC értéke 139 hogyan tud én kap az értékeket, mint ABCD E. ...... |
|
||||
|
Re: a jlliagre
Miért nem vársz 0xC1 a kijelző?
0xC1 a "ASCII" (valójában ISO-latin1) van. ********************************* Az EBCDIC megfelelője az A 0xc1 és azt kell kinyomtatni ASCII EBCDIC azonos Nem megfelelő i nyomán 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 ); és a nyomtatott outarr a karakter kapok helyes értékeket ábécé de nem a számok Nekem van használt alábbi táblázat December Hex ASCII EBCDIC december Hex ASCII EBCDIC ---------------------- ----------------------- 0 0 NUL NUL 32 20 DS - 1 1 SOH SOH 33 21! Az SOS 2 2 STX 34 STX 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 DEL BEL 39 '27' ESC 8 8 BS GE 40 28 (SA 9 9 TAB SPS 41 29) SFE A 10 LF RPT 42 2A * SM / SW 11 B VT VT-43 2B + CSP 12 C FF FF 44 2C, MFA F-13 CR 45 CR 2D - ENQ 14 E SO SO 46 2E. Nyugtázás 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 / ESZP 52 34 4 PP 21 15 NAK NL 53 35 5 TRN 22 SYN 16 BS 54 36 6 NBS 23 17 ETB POC 55 37 7 EOT 24 18 Can Can 56 38 8 SBS 25 EM 19 EM 57 39 9 IT 26 1A SUB UBS 58 3A: RFF 27 1B ESC CU1 59 3B; CU3 28 1C FS IFS 60 3C <DC4 29 1D GS 61 IGS 3D \u003d NAK 30 1E RS IRS 62 3E> 31 ITB 1F US / IUS 63 3F? TENGERALATTJÁRÓ December Hex ASCII EBCDIC december Hex ASCII EBCDIC ------------------------ ------------------------ 64 40 @ SP 96 60 `_ 65 41 A 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 6D m _ 78 4E N + 110 6E n> 79 4F O | 111 6F o? 80 50 P & P 112 70 81 51 K 113 71 K 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 W 57 W 119 77 88 58 x 120 78 × 89 59 Y 121 79 y ` 90 5A Z! 122 7A z: A 91 5B [$ 123 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 a 161 A1 - 130 82 b 162 A2 s 131 83 c 163 A3 t 132 84 d 164 A4-es u 133 85 e 165 A5 v 134 86 f 166 A6 w 135 87 g 167 x A7 - 136 88 h 168 A8 y 137 89 i 169 z A9 138 8A 170 AA 139 8B (171 AB 140 8C 172 AC 141 8D 173 AD [ 142 8E 174 AE - 143 8F + 175 AF - 144 90 176 B0 típusnak 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 ° 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 ie 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 - C2 B 194 S 226 E2 195 C3 C 227 T E3 196 C4 D 228 E4 U 197 C5 E 229 E5 V 198 C6 F 230 W E6 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 EC 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 250 FA 218 DA 219 DB 251 FB 252 FC 220 DC - 221 DD 253 FD 222 DE 254 FE 223 DF 255 FF Mert 0XC1 EBCDIC értéke egy így pozícióban 193. tömb i léptettek érték \u003d 65 A 0X65 ASCII az az A ez szerkezet ábécé Last edited by junaid.nehvi; 11-25-2008 at 10:02 AM.. |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|