如何在fortran77中解压缩文件?

时间:2009-03-27 20:45:26

标签: fortran fortran77 compression

我有一个压缩文件。 让我们忽略tar命令,因为我不确定它是否被压缩了。 我所知道的是它在fortran77中被压缩,这就是我应该用它来解压缩它。 我该怎么做? 解压缩是一条单行道还是我需要某个头文件来引导(直接)解压缩?

这不是.Z文件。它以其他东西结束。 我需要解压缩什么?我知道最终解压缩档案的格式。

文件是否可以通过简单的方式进行压缩,但它的扩展名不同?

5 个答案:

答案 0 :(得分:1)

首先,让我们将“fortran”部分排除在外。由于fortran没有压缩实用程序作为语言的一部分,因此没有标准(并且我指的是fortran标准)压缩或解压缩文件的方法。也许有人写了一些自己的,但这完全取决于他。

所以,你仍然坚持使用公开的压缩实用程序等等。在具有可用系统和支持它的编译器(它变化)的系统上,您可以使用SYSTEM函数,它通过将命令字符串传递给操作系统的命令解释器来执行系统命令(我知道它存在于cvf中,可能ivf ...您应该在编译器的帮助下查找它。

由于您提出了类似的问题already,我认为您仍然遇到问题。你提到“它是用fortran77压缩的”。你是什​​么意思 ?有人在f77中构建了压缩实用程序并使用它吗?那么这会使它成为一个定制的解决方案吗?

如果它是某种自定义解决方案,那么它实际上可以是任何东西,因为许多算法可以作为“压缩算法”(将文件写为二进制文件与纯文本相比将节省几个字节;瞧,“压缩“)

或者我误解了什么?请详细说明一下。

答案 1 :(得分:1)

我的猜测是你有一个二进制文件,它是由Fortran程序输出的。这些看起来像压缩文件,因为它们在文本编辑器中不可读。

Fortran允许您将内存数据写入文件而不进行格式化,以便您以后可以重新加载它而无需解析它。但问题是,您需要原始源代码才能查看文件中写入的变量类型。

如果您无法访问fortran源代码,但是很多的时间,您可以编写一些简单的fortran程序并猜测正在使用的变量类型。但是,我不会建议它,因为Fortran不是很宽容。

如果您想要一些简单的源代码尝试,请查看this page详细介绍Fortran中的二进制读写,并包含一个代码示例。首先,将reclength=reclength*4替换为reclength=reclength*2,以获得双精度实数。

答案 2 :(得分:0)

没有标准的减压方法,有吨。您将需要知道用于压缩它的方法,以便对其进行解压缩。

答案 3 :(得分:0)

你说文件扩展名不是.Z,而是其他内容。那是什么东西?

如果是.gz(这在Unix系统中很常见),“gunzip”是正确的命令。如果它是.tgz,你可以用它进行喷枪解压。 (或者你可以阅读tar(1)的手册页,因为它可能具有一起进行gunzip和提取的能力。)

如果它在Windows上,请查看Windows是否可以直接读取它,因为文件系统本身似乎支持ZIP格式。

如果还有其他内容,请列出文件名(或者,如果存在安全隐患,则以第一个句点开头的文件名),我们也许能够找到它。

答案 4 :(得分:0)

您可以使用 file 命令检查它是否是已知的压缩文件类型。假设文件返回类似“二进制文件”的内容,那么您几乎肯定会查看纯二进制数据。