当前位置: 首页 > 知识库问答 >
问题:

是否可以使用Java将EBCDIC Comp-3文件转换为ASCII文件值?

寇景明
2023-03-14
001700 01 EMP-RECORD.                                                           
001900        10  EMP-NO                     PIC 9(10).                         
002000        10  EMP-NAME                   PIC X(30).                         
002100        10  EMP-ADDRESS                PIC X(30).                         
002200        10  EMP-SALARY                 PIC S9(8)V9(2) COMP-3.             
002200        10  EMP-ZIPCODE                PIC 9(4).                          
  ËÍ>ÁÁ% ,Í_/Ê Ê                Â/>Å/%?ÊÁ                        Á~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ¢|ëá&ç                        ïçñèá ãñá<à                     ÊÊ>     
0000001001suneel kumar r                city                       e¡5671   

程序:

public static void main(String args[]) throws Exception {
    String salesFile = "empcompnewbinary.txt";
    String copybookName = "EMPCOPYBOOK.txt";
    AbstractLine saleRecord;

    int fileStructure = Constants.IO_FIXED_LENGTH;
    CobolIoProvider ioProvider = CobolIoProvider.getInstance();
    AbstractLineReader reader = ioProvider.getLineReader(fileStructure, Convert.FMT_MAINFRAME,
            CopybookLoader.SPLIT_NONE, copybookName, salesFile);

    while ((saleRecord = reader.read()) != null) {
        System.out.print(saleRecord.getFieldValue("EMP-NO").asString() + "-"
                + saleRecord.getFieldValue("EMP-NAME").asString() + "-"
                + saleRecord.getFieldValue("EMP-ADDRESS").asString() + "-"
                + saleRecord.getFieldValue("EMP-SALARY").asDouble() + "-"
                + saleRecord.getFieldValue("EMP-ZIPCODE").asString());
    }
    reader.close();
}

共有1个答案

柴兴贤
2023-03-14

没有“EBCDIC COMP-3字段”这样的东西,在ASCII码点中也没有等效的字段。它是二进制格式。因此,理解您有一个字符和二进制格式混合的记录。

Comp-3是十进制的。在不同的机器体系结构上,它可能会有所不同,因为它们将符号nibble放在哪里,但它是一种二进制格式,所以任何使用字符集规则转换它的尝试都将失败。

到目前为止,处理这个问题最简单的方法是将任何打包的十进制数据转换为由字符组成的显示格式。因此,不是X'0123456C',而是实际上将其转换为C'01234.56',然后您的标准EBCDIC到ASCII的转换将很好地工作。

 类似资料:
  • 目前我有一个aar文件,需要编辑其中的结构和功能。我需要把它转换成一个项目,以便你编辑它。有什么办法可以做到吗?

  • 问题内容: 我需要帮助来理解使用java将XML文件转换为CSV文件所涉及的步骤。这是XML文件的示例 这是生成的CSV文件。 我当时正在考虑使用DOM解析器读取xml文件。我遇到的问题是,我需要按名称指定要编码的特定元素,但我希望它能够解析它而不这样做。 Java中是否有任何工具或库可以帮助我实现这一目标。 如果我下面有这种格式的XML文件,并且想在与MSgId相同的行中添加InitgPty的值

  • 我正在使用TensorFlow为一个对象识别项目设置环境。当谈到编译一些. proto文件时,我碰壁了。它需要努力找到文件的路径/然后找到Pro buf应用程序的路径/然后继续命令每个原型文件!! 我在做什么/试图做什么:按照这个(https://www.edureka.co/blog/tensorflow-object-detection-tutorial/#object)关于edureka的教

  • 问题内容: 我使用APKTool对Android应用程序进行了反向工程,并获得了.Smali文件作为源代码输出。我将带有应用程序的.Smali文件转换为.Java文件。我能够成功编辑.Java文件,但现在我想将它们转换回.Smali,以便可以使用新的.Smali文件重新编译应用程序。当我只留下.Java文件时,它不会重新编译并给出一些错误。我在互联网上找不到有关将.Java编译为.Smali的任何

  • 问题内容: 如何使用Java将pdf文件转换为word文件? 而且,它看起来像它一样容易吗? 问题答案: 试试PDFBOX

  • 问题内容: 我公司已经开发了一个Web应用程序(J2EE环境/ Tomcat服务器),并希望将其作为产品出售。客户可以将此产品用作基本版或高级版。在高级版中,客户具有一些额外的功能(可能是一些额外的链接)。这种区别是基于串行密钥进行的。 讨论上述问题时,我只是一个听众。 是否可以解决上述问题?我们如何将War文件转换为exe文件并嵌入逻辑以区分高级版本或基本版本。 问题答案: 我们如何将War文件