Internal
Converter Name |
IBM
|
IANA
|
Shift_JIS MS_Kanji csShiftJIS windows-31j csWindows31J | ||
ibm-943 |
asciiTranslatedEBCDIC: ASCII characters '{ABCDEFGHI' (0x7B, 0x41-0x49) and '}JKLMNOPQR' (0x7D, 0x4A-0x52) for negative sign punch.
asciiCARealiaModified: ASCII characters '0123456789' (0x30-0x39) and '<SP>!"#$%&'()' (0x20-0x29) for negative sign punch.
asciiTandemModified: ASCII characters '0123456789' (0x30-0x39) and control characters 0x80-0x89 for negative sign punch.
In case other schemes are discovered
that use different byte range for negative sign punch (eg, 0x50 to 0x59),
the DFDL specification has said that ASCII zoned decimals must be in a
100% ASCII compatible encoding.
What we can observe is that ibm-943_P130-1999
is actually safe for representing ASCII zoned decimals in all the above
schemes, because the 0x5C and 0x7E characters do not match any of the ranges
of bytes used by the schemes. And we can also observe that (apart from
the special case of asciiTranslatedEBCDIC) the overpunching schemes simply
use the bits in the first nibble of the byte, so any new scheme we discover
is very unlikely to affect 0x5C or 0x7E.
So, the DFDL specification *could* be
changed to treat ibm-943_P130-1999
as ASCII compatible for zoned decimals.
The alternative is to use a work around
whereby in a DFDL schema that models a data stream in ccsid 943, the default
is 943 but zoned decimals override this and use Shift_JIS. When this workaround
was discussed with a Japanese user of IBM DFDL, the reaction was "Why
do I have to go to that trouble? It should just work in 943."
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU