我们有一个EBCDIC文件,它是VB(可变长度)记录。与此EBCDIC相对应,我们有用01类型分隔记录的copybook,单个记录也包含压缩的十进制字段。请建议我们如何将这种EBCDIC文件转换为ASCII。
由于公司安全策略,我们无法安装RecordEditor。我们使用的是JRecord库,我们创建的对象如下:
ICobolIOBuilder iob = CobolIoProvider.getInstance()
.newIOBuilder(copybookName)
.setCopybookFileFormat(Convert.FMT_MAINFRAME)
.setFileOrganisation(Constant.IO_VB)
.setSplitCopybook(CopybookLoader.SPLIT_01_LEVEL) .setFont("cp037");之后,当我们使用AbstarctLineReader逐行读取文件时,它会带有许多特殊字符。请在这方面提出建议。
发布于 2021-10-12 10:25:06
压缩小数不是“在EBCDIC中”,也不在任何其他代码页中。压缩十进制是IBM大型机(和其他)处理器通过一组本机机器指令支持的二进制数字格式。它是BCD (二进制编码十进制)格式的实现。请参阅维基百科上的Binary coded decimal。
发布于 2021-10-05 10:53:09
基础知识
在执行其他操作之前,您需要:
转换
可能有用的包
RecordEditor也可以将文件写为Xml。
,RecordEditor提供了一些代码生成选项
https://stackoverflow.com/questions/69448542
复制相似问题