【问题标题】:How to unpack COMP digits using Java?如何使用 Java 解压缩 COMP 数字?
【发布时间】:2020-04-29 05:55:53
【问题描述】:

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

【问题讨论】:

    标签: ascii mainframe ebcdic packed-decimal


    【解决方案1】:

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

      03  Signed-Num     pic s9(4) comp.
    

    如果你有一个字节数组中的值,你可以这样做

    BigInteger value = new BigInteger(byteArray);
    

    您也可以使用DataInputStream

    的readShort()、readInt()和readLong()方法

    最后JRecord 会让你用 Cobol 字帖阅读 Cobol 文件

    【讨论】:

      【解决方案2】:

      IBM 提供 Java 方法库以简化与 z/OS 服务和数据格式的交互。可以在这里找到概述jZOS Toolkit

      这是PackedDecimal Operations的链接

      这里有其他用于管理二进制数据的ByteArrayUnmarshaller

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-07
        • 1970-01-01
        • 2022-07-27
        • 2023-04-10
        • 1970-01-01
        • 2011-01-22
        相关资源
        最近更新 更多