Ascii 如何使用Java解包COMP数字?

Ascii 如何使用Java解包COMP数字?,ascii,mainframe,ebcdic,packed-decimal,Ascii,Mainframe,Ebcdic,Packed Decimal,我发现这对解包的COMP-3数字很有用,但这次我需要解包COMP-3数字,有人知道如何解包吗?非常感谢 在大多数Cobol编译器中,Comp是一个大端二进制整数。对于大型机,仅支持2/4/8字节。对于有符号值也是如此 03 Signed-Num pic s9(4) comp. 如果在字节数组中有值,则可以执行以下操作 BigInteger value = new BigInteger(byteArray); 或者,您可以使用的readShort()、readInt()和read

我发现这对解包的COMP-3数字很有用,但这次我需要解包COMP-3数字,有人知道如何解包吗?非常感谢

在大多数Cobol编译器中,Comp是一个大端二进制整数。对于大型机,仅支持2/4/8字节。对于有符号值也是如此

  03  Signed-Num     pic s9(4) comp.
如果在字节数组中有值,则可以执行以下操作

BigInteger value = new BigInteger(byteArray);
或者,您可以使用的readShort()、readInt()和readLong()方法


最后,您可以使用Cobol copybook阅读Cobol文件。IBM提供了一个Java方法库,用于简化与z/OS服务和数据格式的交互。可在此处找到概述

这里有一个链接

下面是管理二进制数据的其他方法