The POSIX Portable Character Set (PPCS) identifies the core set of 128 characters that are needed to write code and to run applications. Of these, 13 characters are variant among the EBCDIC coded character sets.
Table 1 lists these 13 characters. It also displays their appearance when the Open Systems coded character set IBM-1047 hexadecimal values are entered on systems where different Country Extended Coded Character Sets are installed. These hex values are the ones expected by z/OS® XL C/C++, and are consistent with the use of the APL-293 coded character set.
Character | Open Systems Hex Value (Default) | Open Systems IBM-1047 view | APL IBM-293 view | Inter- national IBM-500 view | France IBM-297 view | Germany IBM-273 view | US/Can IBM-037 view |
---|---|---|---|---|---|---|---|
left bracket | AD | [ | [ | Ý | Ý | Ý | Ý |
right bracket | BD | ] | ] | ü | ~ | ü | ¨ |
left brace | C0 | { | { | { | é | ä | { |
right brace | D0 | } | } | } | è | ü | } |
backslash | E0 | \ | \ | \ | ç | Ö | \ |
circumflex | 5F | ^ | ¬ | ^ | ^ | ^ | ¬ |
tilde | A1 | ~ | ~ | ~ | ü . | ß | ~ |
exclamation mark | 5A | ! | ! | ] | § | Ü | ! |
pound (number) sign | 7B | # | # | # | £ | # | # |
vertical bar | 4F | | | | | ! | ! | ! | | |
accent grave | 79 | ˋ | ˋ | ˋ | μ | ˋ | ˋ |
dollar sign | 5B | $ | $ | $ | $ | $ | $ |
commercial "at" | 7C | @ | @ | @ | á | § | @ |
Table 2 lists the hexadecimal values assigned across some of the EBCDIC coded character sets for the 13 variant characters from the PPCS. z/OS XL C/C++ code point mappings gives more information about the mapping of glyphs and POSIX character set lists the full PPCS.
Character Name | Glyph | GCGID | Open Systems IBM-1047 view | APL IBM-293 view | Inter- national 500 view | France 297 view | Germany 273 view | US/Can 037 view |
---|---|---|---|---|---|---|---|---|
left bracket | [ | SM060000 | AD | AD | 4A | 90 | 63 | BA |
right bracket | ] | SM080000 | BD | BD | 5A | B5 | FC | BB |
left brace | { | SM110000 | C0 | C0 | C0 | 51 | 43 | C0 |
right brace | } | SM140000 | D0 | D0 | D0 | 54 | DC | D0 |
backslash | \ | SM070000 | E0 | E0 | E0 | 48 | EC | E0 |
circumflex | ^ | SD150000 | 5F | 5F | 5F | 5F | 5F | B0 |
tilde | ~ | SD190000 | A1 | A1 | A1 | BD | 59 | A1 |
exclamation mark | ! | SP020000 | 5A | 5A | 4F | 4F | 4F | 5A |
pound (number) sign | # | SM010000 | 7B | 7B | 7B | B1 | 7B | 7B |
vertical bar | | | SM130000 | 4F | 4F | BB | BB | BB | 4F |
accent grave | ˋ | SD130000 | 79 | 79 | 79 | A0 | 79 | 79 |
dollar sign | $ | SC030000 | 5B | 5B | 5B | 5B | 5B | 5B |
commercial "at" | @ | SM050000 | 7C | 7C | 7C | 44 | B5 | 7C |
Two tables are available to show the full code—point mappings for Open Systems coded character set IBM-1047 (Figure 1) and for the APL coded character set IBM-293 (Figure 2). Upon examination of these coded character sets, you will notice that coded character set 1047 is a "Latinized" coded character set IBM-293. All the APL code points have been replaced by Latin 1 code points, allowing a one-to-one mapping among coded character set IBM-1047 and all other coded character sets in the Latin 1 group.
Although the official current coded character set for z/OS XL C/C++ is now coded character set IBM-1047 (Open Systems), the coded character set IBM-293 syntax points are still valid. Those points are the ones with syntactic relevance to the z/OS XL C/C++ compiler. Refer to Table 1 and Table 2 for more information.