有没有一种方法可以读取可变的EBCDIC文件并解压缩COMPUTANIONAL-3数据?有没有一种方法可以用Java或在.Net中或某种API中读取EBCDIC文件?
我已经搜索了,我所能找到的是UltraEdit将EBCDIC转换为ANSI,但由于可变长度和COMP-3,该文件仍然不可用。
发布于 2020-12-18 03:11:31
在数据的发源地z/OS上,有一个名为Java Batch Toolkit for z/OS (JZOS)的Java包,它提供了许多类来处理大型机数据集和记录(大型机用于文件)。谷歌"IBM JZOS“。
既然您提到了.net,我假设您指的是在PC (Windows)上运行的代码,而JZOS不是一个选项。
如果文件是使用FTP下载的,则在客户端使用bin和quote mode b,将在每个记录前添加一个3字节的标题来传输记录(请参阅RFC 959: FTP, chapter 3 "Data Transfer Functions", section "3.4.2. Block Mode")。
标头允许代码了解这是否是最后一条记录,更重要的是,了解每条记录的长度。注意,两个字节的二进制长度字段是大端格式。
您需要了解记录结构,即记录由哪些字段组成。以及每个字段的格式,即EBCDIC字符字段、压缩十进制字段(计算-3)等。
接下来,您需要知道在大型机上使用的EBCDIC代码页。然后,您可以使用iconv() (或相应的Java方法)将这些代码页转换为所需的任何代码页。
至于压缩的小数点字段,您还需要知道精度,i.e.how许多数字都被假定为小数位数。
https://stackoverflow.com/questions/65331376
复制相似问题