关于MAINFRAME bin文件,如何读取/比较任何bin文件?

Jes*_*win 0 wpf mainframe

我打算在.NET WPF中创建一个示例应用程序,它可以读取MAINFRAME bin文件,并排比较文件并提取文件内容而不会丢失任何格式.

以下问题对我创建算法非常有帮助.

  1. 什么是典型MAINFRAME bin文件的通用编码标准?
  2. 我们如何读取bin文件,是否需要使用任何工具?
  3. 我们如何找到两个MAINFRAME bin文件之间的差异?
  4. 我们是否能够在不使用任何工具的情况下识别MAINFRAME bin文件 - 这意味着从文件本身?
  5. MAINFRAME生成/读取什么类型的输出文件,意味着它仅限于生成".bin"文件或任何其他扩展名?

还请提供任何开源编辑器,它可以读取/写入/编辑MAINFRAME bin文件,它可以作为入门者.

记录编辑器是我用于某些bin文件的应用程序之一,尽管它似乎与某些bin文件不兼容.

pie*_*t.t 6

没有"MAINFRAME bin文件"这样的东西 - 大型机数据集既没有文件类型的概念,也没有文件扩展名的概念.在将文件从大型机传输到某些Windows/Unix机器后,有些人使用.bin-extension指示应将内容视为二进制文件.

关于大型机文件应该知道的一些事情(我主要谈的是固定记录长度的连续数据集,最基本的数据集):

  1. 没有通用的文​​件格式,通常每个大型机程序都会滚动自己的记录描述并将其写入文件.要理解文件,您必须知道记录描述.
  2. 您可以使用能够处理任意字节序列的任何工具来读取这些文件 - 但同样:要使用它,您必须以某种方式解释这些字节.
  3. 大型机数据集没有一些换行符来表示一个数据记录的结束和下一个数据记录的开头.用于传输的大多数数据集每个记录都有固定的字节数,因此读取程序必须在适当的位置拆分读取的字节.(还有不同的记录长度文件,但我现在暂时不会这样做).
  4. 大型机上的字符数据通常使用与PC平台上使用的一些与ASCII相对的EBCDIC-characterset进行编码.因此,您必须将这些转换为基于PC的处理
  5. 其他部分可能包含压缩十进制数字数据 - 每个数字占半个字节("半字节"),最后一个半字节表示数字的符号.例如,-4387可能存储在3个字节中04 38 7D.
  6. 您的文件可能还包含原始二进制或浮点数据 - 我们无法分辨,您将不得不询问该文件的创建者.

把它们加起来:

  • 你无法通过一些开箱即用的工具来识别或处理它们
  • 你必须知道记录描述做任何有用的事情
  • 你将不得不应对许多特定于大型机的东西

对于大多数用例,将原始二进制文件从大型机传输到PC是不可行的.更好地在大型机上创建基于EBCDIC文本的文件,使用filetransfer-tool将它们转换为ASCII,同时传输和处理文本数据.