二进制文件和文本文件的区别

2020年01月04日 128点热度 4人点赞 0条评论

  ASCII码

        先来了解一下ASCII码,你可以这样理解:计算机中任何数据的储存都是用二进制数来表示,而任何数字形式(例如123,456这样的数字)都可以化为二进制数,这样的数字想要储存可以直接通过转化为二进制形式保存,但是,我想要储存一个“s”这个字母呢?它本身不代表任何数字,也不能被直接转化为二进制数,计算机的世界里全都是数字,没有字符这个奇怪的东西,后来人们想到一个简单的方法,将字符编上号就例如我把'a'编为1把'b'编为2  类似于下表

这个表格就是可以用数字来表示简单字符的对应关系,人们照着这个方法编码了常用的字符编码表 ASCII码表如下:

同样类似的编码表还有Unicode等用来表示不同国家语言的字符.

C语言中文件的区分

c语言将文件分为二进制文件和文本文件,同样c语言采用ascii编码来储存文本。

文本文件:

通过将各种字符转化为ascii码转化为数字形式,然后再将数字转化为二进制数然后储存到文件。

二进制文件:

二进制文件就简单多了,写入的时候从内存中读取然后写到文件中。读的时候因为储存的就是数据本身也不需要经过任何转化(字符型在存入内存的时候就已经转化为ascii码了,所以存到文件的时候也是不需要编码).

        总之各种操作系统以及c语言都默认将文件分为二进制文件和文本文件,这样区分主要是因为方便,程序员在写入文本文件的时候不用担心编码方式,这些都交给内部实现。

Danny

我就如一粒石子,在随波逐流中,逐渐冲蚀了自己的棱角,变光滑,也变丑陋。

文章评论