簡體   English   中英

如何在fortran77中解壓縮文件?

[英]How to decompress a file in fortran77?

我有一個壓縮文件。 讓我們忽略tar命令,因為我不確定它是否已被壓縮。 我所知道的是,它在fortran77中已壓縮,這就是我應使用的解壓縮方式。 我該怎么做? 減壓是單向的,還是我需要某個特定的頭文件來引導(直接)減壓?

這不是.Z文件。 它以其他方式結束。 我需要解壓縮什么? 我知道最終解壓縮的存檔的格式。

是否有可能通過一種簡單的方法壓縮文件,但其擴展名卻有所不同?

首先,讓我們擺脫方程式中的“ fortran”部分。 沒有任何一種標准的方法來壓縮或解壓縮文件(因此,我的意思是fortran標准),因為fortran並沒有壓縮實用程序作為語言的一部分。 也許有人寫了一些自己的東西,但這完全取決於他。

因此,您將不得不使用公用的壓縮實用程序等。 在具有可用功能的系統上以及在支持該功能的編譯器上(它會有所不同),您可以使用SYSTEM函數,該函數通過將命令字符串傳遞給操作系統的命令解釋器來執行系統命令(我知道它可能存在於cvf中) ivf ...您可能應該在編譯器的幫助下進行查找。

既然您已經問過類似的問題,我想您仍然對此有疑問。 您提到“它被fortran77壓縮了”。 你是什​​么意思 ? 有人在f77中構建了壓縮實用程序並使用了它? 這樣就可以使其成為自定義解決方案?

如果是某種自定義解決方案,那么實際上可以是任何東西,因為許多算法都可以用作“壓縮算法”(與純文本相比,將文件寫入二進制格式將節省一些字節;瞧,“壓縮”)

還是我誤會了什么? 請稍微詳細說明一下。

我的猜測是您有一個二進制文件 ,該文件由Fortran程序輸出。 這些文件看起來像壓縮文件,因為它們在文本編輯器中不可讀。

Fortran允許您將內存中的數據寫到文件中而無需格式化,因此您以后可以重新加載它而不必解析它。 但是,問題在於您需要該原始源代碼才能查看文件中寫入了哪些類型的變量。

如果您無法訪問fortran源代碼,但是有很多時間可以使用,則可以編寫一些簡單的fortran程序,然后猜測正在使用什么類型的變量。 但是,我不建議這樣做,因為Fortran不太寬容。

如果您想嘗試一些簡單的源代碼,請查看此頁面該頁面詳細介紹了在Fortran中進行二進制讀寫的過程,並包括一個代碼示例。 只需將reclength=reclength*4替換為reclength=reclength*2 ,即可獲得雙精度實數。

沒有標准的減壓方法,有很多噸。 您將需要知道用於壓縮它的方法以對其進行解壓縮。

您說文件擴展名不是.Z,而是其他。 那還有什么?

如果它是.gz(在Unix系統上很常見),則“ gunzip”是正確的命令。 如果是.tgz,則可以將其壓縮並解壓縮。 (或者,您可以閱讀tar(1)的手冊頁,因為它可能具有一起壓縮和解壓的能力。)

如果在Windows上,請查看Windows是否可以直接讀取它,因為文件系統本身似乎支持ZIP格式。

如果有其他問題,請僅列出文件名(或者,如果涉及安全性,則以第一個句點開頭),我們也許可以找出來。

您可以使用file命令檢查它是否是已知的壓縮文件類型。 假設文件返回的內容類似於“二進制文件”,那么幾乎可以肯定您正在查看純二進制數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM