EBCDIC to ASCII Conversions
我有EBCDIC格式的大型机文件,我想将这些文件转换为ASCII格式。
我曾尝试使用python 2.6将EBCDIC转换为ASCII,但存在很多问题,例如压缩字段未转换且记录计数增加。
有什么方法可以将具有压缩字段的EBCDIC文件转换为ASCII格式。
如果您已经下载了文件,则可以使用命令行在Linux或MacOS计算机中将其从EBCDIC轻松转换为ASCII。
为此,您需要使用
这里简要介绍了它使用的一些参数:
上面的参数还有很多,要检查所有可用参数,只需执行以下命令:
在您的情况下,您应该从以下内容开始:
1 | dd conv=ascii if=EBCDIC_file.txt of=ASCII_file.txt |
其中EBCDIC_file.txt是输入的EBCDIC文件的文件名,而ASCII_file.txt将是作为输出创建的文件,所有字节都从EBCDIC转换为ASCII。
同样,您可以通过使用
这是Web上
当您在文件中提到压缩时,您是说整个文件都来自大型机吗?可能是TERSED(通过在大型机上使用terse实用程序)。在这种情况下,有一个可在DOS,Linux,MacOS,AIX和其他操作系统上运行的terse的公共版本。在cbtape网站上可以找到它:http://www.cbttape.org/ftp/cbt/CBT892.zip
选件
一些选择
- 将文件转换为大型机上的文本文件(sort或eastrieve都将执行此操作)
- 如果是一次关闭Fileaid / File master可以将文件转换为大型机上的Text
-
如果是一次关闭,RecordEditor应该可以使用Cobol Copybook编辑文件。它还可以生成JRecord代码来读取文件。
-
如果文件中只有一个记录类型,则CobolToCsv可以使用Cobol Copybook将文件转换为CSV。
- JRecord使您可以阅读Java中的Cobol Copybook
-
JRecord具有COBOL Copy实用程序,可让您执行Cobol来进行cobol复制。如果只有一种记录类型,则可以
- 将EBCDIC副本复制到等效的Ascii副本(扩展字段被转换,二进制字段保持不变)。如果将Mainframe Cobol文件转换为在Windows / Linux Cobol系统中使用,这将非常有用
- 将EBCDIC二进制抄写本复制到Ascii文本抄写本
- Stingray项目提供对python中的cobol文件的访问
CobolTCsv
例如,使用CobolToCsv将Cobol数据文件转换为Csv(单记录类型):
1 2 3 4 | java -jar ../lib/Cobol2Csv.jar -I In/DTAR020.bin -O Out/o_DTAR020_space.csv ^ -C DTAR020.cbl ^ -Q DoubleQuote -FS Fixed_Length ^ -IC CP037 -Delimiter , |
哪里
- In / DTAR020.bin是输入Cobol数据文件
- Out / o_DTAR020_space.csv是输出的Csv文件
- ** DTAR020.cbl **是Cobol习字簿
- Fixed_Length为其指定固定长度的文件(大型机上的FB)
记录编辑器
- 要编辑文件,请参见如何使用Cobol Copybook(pt1)在RecordEditor中编辑Binary Mainframe文件。
- 要生成JRecord代码,请参阅如何为Cobol抄写本生成java?jrecord代码