我必须将文件中的所有数据转换为带有十进制格式的EBCDIC。
文件中的所有数据都是简单的文本格式。
据我所知,我们需要首先将ASCII转换为EBCDIC Cp1047或其他格式,然后应用“压缩十进制”逻辑/代码。(可能是我错了)
转换后的格式应该类似于" C3 C5 40 F0 C9 F8"(即EBCDIC压缩十进制格式)
答案 0 :(得分:0)
包装十进制(Cobol中的Comp3)
你有 Cobol Copybook ???,如果你有,请参阅JRecord Question。 JRecord也有
JRecord 的替代方案是
注意:我是JRecord的作者
将数字转换为Packed Decimal非常简单,有很多方法可以做到这一点
一个选项是
将整数转换为Packed-Decimal的Java代码
String val = Integer.toString(Math.abs(value));
if (value < 0) {
val = val.substring(1) + "D"
} else {
val += "C";
}
byte[] bytes = (new BigInteger(val, BASE_16)).toByteArray();