Enforced subset conversion
An enforced subset conversion occurs when a character in the source CCSID does not have a code point in the target CCSID. In this case, the character is converted to a single substitution character.
The default substitution characters (SUB) are:
- X'3F' for SBCS EBCDIC
- X'1A' or X'7F' for SBCS ASCII
- X'1A'for UTF-8
- X'001A' for UTF-16
One alternative to an enforced subset conversion is a round-trip conversion, which preserves characters if they are converted back to the originally CCSID. Whether a particular conversion uses a round-trip conversion or an enforced subset conversion depends on how your system is set up to do conversions. For example, in DB2® for z/OS®, many conversions are defined by z/OS Unicode Services. Each of the conversion definitions specifies whether to use a round-trip or enforced subset conversion.
z/OS Unicode Services uses enforced subset conversions when converting from Unicode to ASCII or EBCDIC to handle characters that do not exist in the target CCSID. In this situation, enforced subset conversions are required because Unicode has room to include over 1 million code points, but ASCII and EBCDIC single-byte character sets can include only 256 code points.