In <cc42e2f56d60f24fb8a6bcc639d1d96331ad0...@samtcasxmb46.usa.dce.usps.gov>, on 05/15/2015 at 06:54 PM, "Hansen, Dave L - Eagan, MN" <dave.l.han...@usps.gov> said:
>My Square Brackets disappeared and my Java won't compile. What code points get sent? What is your ISPF terminal type? What compiler and options are you using? >"C is another problem child. It may be an obsolte, ugly and unsafe language, but the fault here does not lie with C. >It uses funky characters No. The funkiness resides in IBM assigning them to different code points in different EBCDIC code pages. >like the square brackets '[]', Bog standard ASCII, and languages older than EBCDIC use them. >curly brackets '{}' Bog standard ASCII >and broken vertical bar '|'. Bog standard ASCII >These move around (or disappear) depending on your code page. Aha! So it's the EBCDIC code pages, not C. >But with C there's another catch: it's designed to use EBCDIC 1047, >not EBCDIC 0037." No; it's not designed to use either. Don't confuse the compiler with the language. >"So why is C designed for EBCDIC 1047? It isn't >Because z/OS Unix Systems Services (USS) is also designed for it." It's not USS and it's newer than C. >"When IBM created USS for z/OS, it makes sense that it had to work >in EBCDIC. The POSIX standard for UNIX doesn't require the use of >ASCII, So? IBM acknowledged the importance of ASCII. Causing problems for C programmers is just one symptom. >and z/OS is an EBCDIC operating system. IBM really didn't have a >choice." IBM could easily[1] have *consistently* mapped all ASCII graphics (41-7F) into EBCDIC, instead of creating a Tower of Babel; IBM had a choice, and chose the wrong one. >"The problem is that UNIX, and its core programming language C, >rely on characters that don't exist in some EBCDIC codepages. No, the problm is that IBM does not properly support either C or ASCII. >EBCDIC 1047 is designed to include all the characters USS needs Not in a manner consistent with other code pages. And it's not USS. >effectively all the characters from Extended ASCII: ISO8859-1 There is no etended ASCII, other than the abortive ASCII-8. ISO-8859-1 is a ISO standard character set, and is no more ASII than ISO-8859-2 through -15. [1] With the possible exception of CKJ code pages. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see <http://patriot.net/~shmuel/resume/brief.html> We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN