lalonde@einstein.misemi ( iccad) (10/04/89)
Sorry; this isn't too deep. I need a C function that converts a given EBCDIC character to it's ASCII equiv. If you have such a routine would you please share it with me. Thanks, -- ====================== Terry Lalonde Usenet: ...!uunet!mitel!lalonde ======================
henry@utzoo.uucp (Henry Spencer) (10/05/89)
In article <1060@einstein.misemi> lalonde@.UUCP (Terry Lalonde - iccad) writes: >I need a C function that converts a given EBCDIC character >to it's ASCII equiv... You will have to be more specific. Which flavor of EBCDIC? EBCDIC is not a single well-defined character code, but a family of somewhat-similar codes. (Which is why the Unix `dd' command has two different conversions, plus an entry in the BUGS section discussing this problem.) -- Nature is blind; Man is merely | Henry Spencer at U of Toronto Zoology shortsighted (and improving). | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
diamond@csl.sony.co.jp (Norman Diamond) (10/06/89)
In article <1989Oct4.203729.11700@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes: >You will have to be more specific. Which flavor of EBCDIC? EBCDIC is >not a single well-defined character code, but a family of somewhat-similar >codes. (Which is why the Unix `dd' command has two different conversions, >plus an entry in the BUGS section discussing this problem.) For quite a while IBM pretended that ASCII was poorly defined too. IBM played games with the parity bit in an effort to lock their products out of a standard marketplace, though we all know that they failed in this effort :-) In fact EBCDIC is just as well-defined as ASCII. Only some IBM print trains did not use EBCDIC. "dd" provides an alternative table so that certain characters will print properly on those printers, but that target code is not EBCDIC. Also IBM terminals usually did not use EBCDIC, so the operating system had to translate to and from the device codes. -- Norman Diamond, Sony Corp. (diamond%ws.sony.junet@uunet.uu.net seems to work) The above opinions are inherited by your machine's init process (pid 1), after being disowned and orphaned. However, if you see this at Waterloo or Anterior, then their administrators must have approved of these opinions.
alanm@cognos.UUCP (Alan Myrvold) (10/07/89)
In article <1060@einstein.misemi> lalonde@.UUCP (Terry Lalonde - iccad) writes: >I need a C function that converts a given EBCDIC character >to it's ASCII equiv... Based on the Unix 'dd conv=ascii' conversions : int ebcdic2ascii[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 }; - Alan --- Men aren't pigs ... pigs are smarter --- Alan Myrvold 3755 Riverside Dr. uunet!mitel!sce!cognos!alanm Cognos Incorporated P.O. Box 9707 alanm@cognos.uucp (613) 738-1440 x5530 Ottawa, Ontario CANADA K1G 3Z4