如何使用Java解压缩COMP位?

问题描述 投票:0回答:1

我发现此有用的link对于未包装的COMP-3数字,但这次我需要对COMP数字进行包装,有人知道如何对其进行包装吗?非常感谢!

ascii mainframe ebcdic packed-decimal
1个回答
0
投票

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

  03  Signed-Num     pic s9(4) comp.

如果您具有字节数组中的值,则可以执行

BigInteger value = new BigInteger(byteArray);

或者,您可以使用DataInputStream]的readShort()readInt()readLong()方法)

最后JRecord将允许您使用Cobol抄写本读取Cobol文件

© www.soinside.com 2019 - 2024. All rights reserved.