Appendix C. Double-Byte Character Set (DBCS) Support
A Double-Byte Character Set supports languages that have more characters than can be represented by 8
bits (such as Korean Hangeul and Japanese kanji). REXX has a full range of DBCS functions and
handling techniques.
These include:
v Symbol and string handling capabilities with DBCS characters
v An option that allows DBCS characters in symbols, comments, and literal strings.
v An option that allows data strings to contain DBCS characters.
v A number of functions that specifically support the processing of DBCS character strings
v Defined DBCS enhancements to current instructions and functions.
Note: The use of DBCS does not affect the meaning of the built-in functions as described in Chapter 14,
“Functions,” on page 171. This explains how the characters in a result are obtained from the
characters of the arguments by such actions as selecting, concatenating, and padding. The
appendix describes how the resulting characters are represented as bytes. This internal
representation is not usually seen if the results are printed. It may be seen if the results are
displayed on certain terminals.
General Description
The following characteristics help define the rules used by DBCS to represent extended characters:
v Each DBCS character consists of 2 bytes.
v There are no DBCS control characters.
v The codes are within the ranges defined in the table, which shows the valid DBCS code for the DBCS
blank. You cannot have a DBCS blank in a simple symbol, in the stem of a compound variable, or in a
label.
Table 5. DBCS Ranges
Byte EBCDIC
1st X'41' to X'FE'
2nd X'41' to X'FE'
DBCS blank X'4040'
v DBCS alphanumeric and special symbols
A DBCS contains double-byte representation of alphanumeric and special symbols corresponding to
those of the Single-Byte Character Set (SBCS). In EBCDIC, the first byte of a double-byte alphanumeric
or special symbol is X'42' and the second is the same hex code as the corresponding EBCDIC code.
Here are some examples:
X'42C1' is an EBCDIC double-byte A
X'4281' is an EBCDIC double-byte a
X'427D' is an EBCDIC double-byte quote
v No case translation
In general, there is no concept of lowercase and uppercase in DBCS.
v Notational conventions
This appendix uses the following notational conventions:
© Copyright IBM Corp. 1992, 2009 395