我有一个压缩文件。让我们忽略tar命令,因为我不确定它是否被压缩。我只知道它是用fortran77压缩的,这就是我应该用来解压缩的。我该怎么做呢?解压缩是单向的吗?还是我需要某个头文件来引导(直接)解压缩?
这不是.Z文件。它在另一个地方结束。我需要什么来解压它?我知道最终解压缩的归档文件的格式。
有没有可能文件是通过一种简单的方式压缩的,但它以不同的扩展名显示?
发布于 2009-03-27 21:50:43
首先,让我们从方程式中去掉"fortran“部分。没有标准(我指的是fortran标准)来压缩或解压缩文件,因为fortran没有将压缩实用程序作为语言的一部分。也许有人写了一些他们自己的东西,但这完全取决于他。
因此,您不得不使用公开可用的压缩实用程序,等等。在具有这些功能的系统上,以及在支持它的编译器上(视情况而定),您可以使用系统函数,该函数通过将命令字符串传递给操作系统的命令解释器来执行系统命令(我知道它存在于cvf中,可能是ivf ...您可能应该在编译器的帮助下查找它)。
既然你问了一个类似的问题,already,我想你仍然有这个问题。你提到“它是用fortran77压缩的”。你这么说是什么意思?有人在f77中构建了一个压缩实用程序并使用它?所以这将使它成为一个自定义的解决方案?
如果它是某种自定义解决方案,那么它实际上可以是任何东西,因为许多算法都可以用作“压缩算法”(与纯文本相比,将文件写成二进制将节省几个字节;瞧,“压缩”)
还是我误解了什么?请对此稍加说明。
发布于 2009-03-30 06:05:23
我猜你有一个二进制文件,它是由Fortran程序输出的。这些文件看起来像压缩文件,因为它们在文本编辑器中不可读。
Fortran允许您将内存中的数据写出到文件中,而无需对其进行格式化,这样您可以在以后重新加载它,而不必对其进行解析。然而,问题在于,您需要原始源代码才能查看文件中写入了哪些类型的变量。
如果您无法访问fortran源代码,但有很多空闲时间,您可以编写一些简单的fortran程序,并猜测正在使用哪种类型的变量。不过,我不建议这样做,因为Fortran的容错性不是很好。
如果您想尝试一些简单的源代码,请查看this page,它详细介绍了Fortran中的二进制读写,并包含了一个代码示例。只需将reclength=reclength*4替换为双精度实数的reclength=reclength*2即可。
发布于 2009-03-27 20:48:33
没有标准的解压方法,有很多种。你需要知道用来压缩它的方法,以便解压它。
https://stackoverflow.com/questions/691390
复制相似问题