@Test public void testUninterpret() { int offset = 0; byte[] result = ebcdicHexInterpreter.uninterpret(hexEbcdicData, offset, hexEbcdicData.length >> 1); assertThat(result, is(asciiData)); }
public byte[] uninterpret(byte[] rawData, int offset, int length) { byte[] ret = new byte[length]; for (int i = 0; i < length; i++) { byte hi = rawData[offset + i * 2]; byte lo = rawData[offset + i * 2 + 1]; int h = hi < (byte) 0xF0 ? 10 + hi - 0xC0 : hi - 0xF0; int l = lo < (byte) 0xF0 ? 10 + lo - 0xC0 : lo - 0xF0; ret[i] = (byte)(h << 4 | l); } return ret; }
EbcdicHexInterpreter implements BinaryInterpreter { public byte[] uninterpret(byte[] rawData, int offset, int length) { byte[] ret = new byte[length]; for (int i = 0; i < length; i++) { byte hi = rawData[offset + i * 2]; byte lo = rawData[offset + i * 2 + 1]; int h = hi < (byte) 0xF0 ? 10 + hi - 0xC0 : hi - 0xF0; int l = lo < (byte) 0xF0 ? 10 + lo - 0xC0 : lo - 0xF0; ret[i] = (byte)(h << 4 | l); } return ret; } }
EbcdicHexInterpreter implements BinaryInterpreter { public byte[] uninterpret(byte[] rawData, int offset, int length) { byte[] ret = new byte[length]; for (int i = 0; i < length; i++) { byte hi = rawData[offset + i * 2]; byte lo = rawData[offset + i * 2 + 1]; int h = hi < (byte) 0xF0 ? 10 + hi - 0xC0 : hi - 0xF0; int l = lo < (byte) 0xF0 ? 10 + lo - 0xC0 : lo - 0xF0; ret[i] = (byte)(h << 4 | l); } return ret; }  }
EbcdicHexInterpreter implements BinaryInterpreter { public byte[] uninterpret(byte[] rawData, int offset, int length) { byte[] ret = new byte[length]; for (int i = 0; i < length; i++) { byte hi = rawData[offset + i * 2]; byte lo = rawData[offset + i * 2 + 1]; int h = hi < (byte) 0xF0 ? 10 + hi - 0xC0 : hi - 0xF0; int l = lo < (byte) 0xF0 ? 10 + lo - 0xC0 : lo - 0xF0; ret[i] = (byte)(h << 4 | l); } return ret; }  void interpret(byte[] data, byte[] b, int offset); byte[] uninterpret(byte[] rawData, int offset, int length); int getPackedLength(int nBytes); }
EbcdicHexInterpreter implements BinaryInterpreter { public byte[] uninterpret(byte[] rawData, int offset, int length) { byte[] ret = new byte[length]; for (int i = 0; i < length; i++) { byte hi = rawData[offset + i * 2]; byte lo = rawData[offset + i * 2 + 1]; int h = hi < (byte) 0xF0 ? 10 + hi - 0xC0 : hi - 0xF0; int l = lo < (byte) 0xF0 ? 10 + lo - 0xC0 : lo - 0xF0; ret[i] = (byte)(h << 4 | l); } return ret; }  void interpret(byte[] data, byte[] b, int offset); byte[] uninterpret(byte[] rawData, int offset, int length); int getPackedLength(int nBytes); static final EbcdicHexInterpreter INSTANCE; }