当前位置:首页 > 运营推广

程序员别唬我系列之:二进制文件

时间:2019-08-14 09:15:29来源:运营推广作者:seo实验室小编阅读:88次「手机版」
 

二进制文件

二进制文件和文本文件有什么区别?

程序员经常说:“哥,你也别用明文写文件啊,至少也要写成二进制文件啊”。

程序员经常说:“哥,这篇文章数字居多,不要写成文本文件哦,好占空间啊”。

程序员经常说:“哥,你是不明白文本文件和二进制文件的区别吧 :—)”。

带着这些常见的问题,果果带你走进科学,看看文本文件和二进制文件的本质区别以及使用场景。

计算机中的文本文件就指的是你常见到的txt,记事本文件这种,在windows中打开,你是直接可阅读,并可解释其含义的。

而二进制文件通常你用文本打开工具是不能打开的,我们用记事本强行打开,也是一团乱码,下图应该是你常见的,不信你用NotePad等工具打开一张图片看看。

其实,从广义的存储的角度看,计算机中本没有什么文本文件和二进制文件的区别,在计算机的硬盘上存储的文件都是以二进制存储的,也就是01的串。

那为什么程序员口中又要分这两种类型呢?区别何在呢?

其实是从狭义的角度划分,我们还是举栗子进行说明:

圆周率π=3.1415926 ,如果按照文本文件存储(在桌面上新建一个txt,然后输入3.1415926,然后保存),这个文件就被存储为一个文本文件,其中一共9个字符,分别是3、.、1、4、1、5、9、2、6,这几个数字分别按照其对应的ASCII码为十进制的63,56,61,64,61,65,71,62,66,每个字符占用一个字节,所以一共占用了9个字节的空间。

如果按照二进制文件存储,那3.1415926是一个浮点数,那最终占用4个字节存储。

可以明显的推导出一个结论:二进制文件在数字上存储要比文本文件省空间,也就是文本文件是按照字符存储,二进制文件按照数据类型存储。

文本文件最终存储的也是二进制文件,只不过每一个字节都是可以转换为相应的字符的,因为要保障其可以还原,而二进制文件根本不关心存储的是什么,就像吃火锅往火锅里面下菜的时候,文本文件像个大家闺秀一样,还要区分蔬菜放在不辣的里面,肉放在辣锅里面一样,效率当然低,而二进制文件不管三七二十一,不按任何规则,只要保证菜品入锅就好了。

就像程序员说的,文本文件打开就是明文,而二进制文件是不定长的,而且存储的是时候,你不知道写入的程序员是按照什么规则写入的,所以会增加一点破解难度。

总结起来,二进制文件更省空间,写入速度更快,因为可读性很差,所以还有一定的加密保护作用。

因为从存储的角度,本来一切公平,大家都是二进制存储的。但是因为人要读文件,所以文本文件委屈求全,作为二进制文件的子集,文本文件开辟了一个新的文件品类,这种品类下,文件的每个字符都是经过了特殊处理(比如转成ASCII码)然后再存储为二进制,这样的二进制因为可以直接对应为ASCII码,所以可供人们阅读。

在程序设计中,经常利用文件流进行二进制文件的读写,程序员会经常跟二进制文件打交道,而且二进制文件的格式经常是程序员自定义的,希望后面你听到这个词的时候,不要太陌生,只把它当作一个普通文件即可。

相关阅读

程序员小灰2018上半年原创汇总

点击上方“程序

回复 程序员如何做SOHO接私单

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,

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

广义上的二进制文件包括文本文件,这里讨论的是狭义上的二进制文件与文本文件的比较: 能存储的数据类型不同 文本文件只能存储char

Kubernetes系列之监控Metres-server实战篇

image本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复【K8s实战】获取 介绍

程序员幽默:66条让你笑爆肚皮的程序员段子

1、程序猿最烦两件事,第一件事是别人要他给自己的代码写文档,第二件呢?是别人的程序没有留下文档。2、程序猿的读书历程:x 语言入门

分享到:

栏目导航

推荐阅读

热门阅读