原数据 
@樚c@奨5@亙濦s濚@f 7@[ 
@P近@F@繞:t@4闌4锧55^@ <*P@E陦@R飝@\顼@d?@j+)@k@i?@c波@c>^@f漼@n飺@wJ獲€%@刼釦嘗侤?瑻?錊僁Q@v?@`絻@L <慇:婋@+n譆,藣@ <r1@\IQ@v 旲啞)@?b@?兀澀@|@κu@狢1@?麫?砡魼?菮呼+@緿+@妙這揉z@? 
我想解析这个数据 
解析结果是: 
yyyy    mm    dd    hh    st    so2      no2      pm10        no        co        o3 
  2008    7    21    12      1      9.74    27.84    63.16    10.09    72.28    50.87 
  2008    7    21    12      2    56.78    37.28    239.60    236.35    345.36    24.18 
  2008    7    21    12      3      4.98    11.38    39.36    11.32    46.79    19.45 
  2008    7    21    12      4      4.42    14.58    34.06    13.16    58.01    21.63 
现在我已经把数据都读出来了,但是都是乱码,现在的问题就是二进制转换成可以用的数据,谢谢大师指教?

解决方案 »

  1.   

    得知道那些数据在你二进制文件中的存放方式.你怎么知道会是这个解析结果?是否你知道那些数据的存放顺序及其类型(整数是int还是long?小数是float还是double)?
    把你掌握的情况都说一说吧,也许能得到解答.
    如果能看到你的文件还好办,发一堆乱码上来,估计很难有人解决的......
      

  2.   

    字节文件不会有乱码,因为它里面的内容本身就不应该被看成是字符,只有字符文件才会出现所谓的乱码问题。首先不清楚你说的数据是哪儿来的,若是从键盘输入的(粘贴上去的),然后io到文件的,那无解;
    若是存于文件中的,且明确知道其内容是字符型的(不考虑加密后的情况),则需知道其io放入时采用的字符集。所以你首先得学会把问题、最好是把来龙去脉说清楚。
      

  3.   

    恩,上面的情况我没说清楚,谢谢说明。
    是这样一个情况,有一堆的testd4.2008072212.grd这样的文件,
    我要去读里面的内容。
    但是用户给了一个经理给了个DEMO读取的样本,让我来比较读的对否?
    给的DEMO文件就是读取后的结果20080722.txt
    就是刚才发的那些结果
    里面数据是什么类型有的我也不清楚,
      

  4.   

    如果自己实在搞不定,发一个grd及与之对应的txt给我吧,我给你看看.
    请注意:
    你的grd与txt一定要匹配哦,不要“忽悠”我哦,呵呵...
      

  5.   

    已收到楼主发过来的两个文件:
    testd4.2008072202.grd
    20080722.txt处理流程如下:
    1、用UltraEdit打开grd文件,发现极其复杂,完全无法推测出数据的存储方式。
    (真笨……)
    2、上网查了一下,下载了两个可以直接查看grd文件的软件。grads无法读取此文件,而surfer能读出,并以网格形式显示,可惜里头全是乱码。
    (开始曾经怀疑楼主发给我的grd文件被损坏。后来又想到可能只是后缀名巧合,也许此grd并非彼grd。还是笨……)
    3、从楼主的邮件中得知,此文件是FORTRAN程序write出来的。虽然以前没用过Fortran,但抱着试一试的心理,开始上网找Fortran的资料。
    4、下了好几个IDE,终于找到满意的:“Visual Fortran 绿色版”,写了个“Hello World”之后,开始仿照从网上找的一个示例,试图读取该grd文件内容。
    5、读出了一些数据,但与 20080722.txt 中完全不吻合。第一次接触Fortran,实在生疏得很、进展缓慢。因为本身还有工作,时间所限,暂时只能放弃了……
    6、由于我自始至终都没搞清楚该文件中数据的存放方式,所以也无法使用Java的API去读取……未能解决问题,特向楼主致歉!提出一个参考思路:
    首先,请确认该grd文件是完好无损的原版,以及是否经过了加密之类的处理……
    关键,是要知道该文件中的数据是如何保存的。比如,“2008”这个数据开始于哪个字节,占用了几个字节,等等。
    “解铃还须系铃人”,跟之前的写入数据的那位高手联系一下,至少了解到数据的存放方式。
    如果他还能提供读取数据的代码,那就最好不过啦。
    如果人家很忙,就自己写吧。知道了数据是如何存进去的,读出来就只是举手之劳了。再次向楼主致歉!并祝楼主早日解决此问题……