登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
基本上是GrADS方面提出的问题让我想写这些内容,所以就放在GrADS区吧~
最近越来越发现,有些朋友对文件格式的认识存在很大的误解,以至于我想写下这些文字,目的就是想在以后的交流中大家不要再说出:“怎么把二进制文件转换成十进制的”这样的话了。由于本人水平有限,本文中如果出现描述错误,欢迎指出!
(一)文件格式和编码
文件在计算机中都是以二进制存储的,这个想必大家都是知道的,既然都是用0和1存储的,那为什么记事本能够打开一些所谓的“txt文件”,打开标准的“grd文件”时却会是乱码呢?这就是文件格式的问题了。
计算机中的文件格式大致可以分为二进制文件( binary)和文本文件(text),没有十进制文件。前者是无格式的,也就是说没有一个统一的标准来规定数据如何存储(文件创建者自己规定格式),而文本文件是有格式(编码)的,英文字母和符号以ASCII码存储,汉字以机器码存储。(不过最后都是以0和1存在磁盘的)
正是因为文本文件规定了编码方式,所以记事本等软件才能够直接解析,不同的编码方式对应的解析也不同,如果识别错误,同样会造成乱码,这个道理和记事本打开二进制文件出现乱码是一样的。
下面可以做一个简单有趣的试验,肯定有不少朋友看到过:
新建一个文本文件,用记事本打开,然后在里面输入联通 这两个汉字,保存并关闭记事本,接着,再用记事本打开这个文件,你会发现联通 两个字变成了乱码!出现这一现象的原因就是windows对这个文件的编码识别错误,windows默认的是ansi编码,但是由于这两个汉字的内码很特殊,再次打开文件时靠很少的信息并不能够完全确认文件的编码方式,导致编码识别错误,出现乱码。
二进制文件并不是GrADS的专有,但是我们在日程的使用中通常会直接使用这个名词, GrADS的二进制文件是GrADS规定了具体的格式,拿格点文件来说,他的格式就非常简单,直接存储4个字节的实型数即可,而站点数据之所以写入比较麻烦,是因为他包含了站点信息,所以必须规定比较复杂的文件排列方式,如果不按照规定的方式存入数据,那么GrADS就不能识别这个二进制文件。
(二)文件格式和后缀
说道这里,想起来传说中的谁说的一个事儿,说一个计算机系的学生把excel表格的后缀改为rmvb,问说怎么不能拿来观看…下面就说说后缀的一些事儿…
关于文件后缀的相关知识,大家可以百度搜罗一大堆,但是主要说来,文件后缀就是用来辅助各种软件对文件格式的识别, 但是绝对不能根据一个后缀就说这个文件一定是什么文件,后缀的使用能够帮助大家简明的去表达一种文件类型,但是如果使用这种后缀的文件很多,那么就容易产生混淆。
比如最近有人问“怎么把nc文件转为dat文件”,你说nc后缀的文件,大部分人还能明白,但是dat文件就不是了,使用dat作为后缀的文件有很多,文本文件经常被存为dat后缀,GrADS的二进制也会,甚至有些视频文件也会是dat的后缀,但是如果你这样问“怎样把nc格式的文件转换为文本文件”或者“怎样把nc格式的文件转换为GrADS的二进制文件”,这样的表达才能让人知道你想干什么。
这个帖子算是吐槽也好,普及知识也罢,希望大家以后描述的时候能够尽量让别人理解你在说什么吧。如果希望了解二进制文件和文本文件更多的内容,可以去这里看一下:
http://bbs.06climate.com/home.php?mod=space&uid=1&do=blog&id=876
|