我有EBCDIC格式的大型机文件,我想将这些文件转换为ASCII格式。
我尝试过使用python2.6将EBCDIC转换为ASCII,但是有很多问题,比如压缩字段没有转换,记录数量增加了。
有没有办法将具有压缩字段的EBCDIC文件转换为ASCII格式。
发布于 2020-07-21 02:40:41
如果您已经下载了该文件,则可以使用命令行在Linux或MacOS机器上轻松地将其从EBCDIC转换为ASCII。为此,您需要使用dd命令。
下面是它使用的一些参数的快速概述:
dd [bs=size] [cbs=size] [conv=conversion] [count=n] [ibs=size] [if=file] [imsg=string] [iseek=n] [obs=s] [of=file] [omsg=string] [seek=n] [skip=n]
上面有更多的参数,要检查所有可用参数,只需执行命令:man dd,它将显示所有其他可用参数以及每个参数的解释。
在您的情况下,您应该从以下方面开始:
dd conv=ascii if=EBCDIC_file.txt of=ASCII_file.txt其中,EBCDIC_file.txt是您输入的EBCDIC文件的文件名,而ASCII_file.txt将是作为输出创建的文件,所有字节都从EBCDIC转换为ASCII码。
同样,您可以通过使用conv=ebcdic将文件从ASCII码转换为EBCDIC码来进行相反的操作。
以下是dd在web上的手册页:https://www.man7.org/linux/man-pages/man1/dd.1.html
当你在你的文件中提到压缩时,你是说整个文件都是从大型机压缩过来的吗?它可能来自TERSED (通过在大型机上使用简明实用程序)。如果是这样的话,有一个公共版本的terse可以在DOS、Linux、MacOS、AIX和其他操作系统上运行。它可以在cbtape站点上找到:http://www.cbttape.org/ftp/cbt/CBT892.zip
发布于 2019-06-04 15:45:30
选项
一些选项
,这将非常有用
中cobol文件的访问。
CobolTCsv
例如,要使用CobolToCsv将Cobol数据文件转换为Csv (单记录类型):
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 ,哪里
RecordEditor
要编辑该文件,请参见How do you edit a Binary Mainframe file in the RecordEditor using a Cobol Copybook (pt1)
https://stackoverflow.com/questions/56437665
复制相似问题