Text 将二进制数据文件转换为文本文件

Text 将二进制数据文件转换为文本文件,text,binary,fortran,ascii,Text,Binary,Fortran,Ascii,我的硬盘上有一个.bin文件。 它的recl是nx*ny*4。其尺寸为(241121)。241英寸x尺寸。121英寸y尺寸。 如何使用fortran将其转换为可以打开并读取数字的ascii文件? 到目前为止,我已经试过了 real :: g1(241,121) open(unit=1,file=gaugemax2010.bin',status='old', form='unformatted',access='direct',recl=nx*ny*4) open(unit=5,file=

我的硬盘上有一个.bin文件。 它的recl是nx*ny*4。其尺寸为(241121)。241英寸x尺寸。121英寸y尺寸。 如何使用fortran将其转换为可以打开并读取数字的ascii文件?

到目前为止,我已经试过了

real :: g1(241,121) 
open(unit=1,file=gaugemax2010.bin',status='old',
form='unformatted',access='direct',recl=nx*ny*4) 


open(unit=5,file='g2010.txt',status='unknown', 
form='unformatted',access='direct',recl=1) 

read(1, rec=1) ((g1(i,j,),i=1,nx,j=1,ny)
write(5, rec=1) (g1(i,j,),i=1,241),h=1,121) 
end

而且它没有工作

FORM='UNFORMATTED'
打开一个二进制内容的文件。对于纯文本,必须指定
FORM='FORMATTED'


有关
OPEN
语句的更多详细信息,请参见此处:

是什么语言编写的?你有那个密码吗?您知道该文件包含单精度实数吗?你为什么说它不起作用。。。输出的值是否错误?修复简单的语法错误、多余的逗号和不平衡的括号:
read(1,rec=1)((g1(i,j),i=1,nx),j=1,ny)
。在第二种情况下,显然h应该是j。。。当然,由于数组的尺寸精确,您只需执行
read(1,rec=1)g1
我通常使用
form='binary'
。有什么区别吗<代码>未格式化似乎仍保留一些记录结构?@bdforbes这似乎是一些供应商的扩展。该标准(第9.5.6.11章)规定,“开放式语句中的FORM=说明符[…]应计算为格式化或未格式化。”