I'm trying to figure out how to check if a char is in EBCDIC.
One approach would be to have a predefined array with all possible EBCDIC signs, and check if the character can be found in that array.
Is there a better/cleaner way?
boolean canEncode(char ch) {
Charset charset = Charset.forName("EBCDIC");
return charset.newEncoder().canEncode(ch);
}
The CharsetEncoder
can also check entire Strings.
And there is more conversion support around Charset.
Thanks to @BruceMartin and @0x1C1B
Note that there are more than one EBCDIC variants, just like 8 bit ASCII ((US) ASCII being 7 bits). Pick the right code page: `"Cp037" for US EBCDIC, "Cp1047", ...
You will need the Charset to convert to EBCDIC bytes.