如何判断二进制文件??及二进制文件的通途
2个回答
展开全部
二进制文件和文本文件都是用0和1这样的数字来储存的,那么为什么一个是二进制文件,一个是文本文件呢?
这个取决于他的编码方式,比如下面这段
16进制49这个数,
他的二进制格式为:01001001
这段数字他本身只是一段数字,他只能表示01的这么一个序列,他不能表示任何信息
关键在于我们解读他的方式
如果我们按照char类型的数据来解读它,那么他就是字符 ‘I’
如果我们按照int型的数据来解读它,那么它就是数字73
所谓的文本文件和二进制文件,它里面储存的都是01数列,但是文本文件我们都只以字符的形式来识别他,而二进制文件在文本编辑器中,我们以字符的形式来识别他,但是在程序中我们直接将这串数列取出来,交由程序来判断要以什么形式来取用它,就有了更多的选择
这就是他们的区别,人本身很难判断出一个文件是不是二进制的,比如一个程序将它所有字符串型数据以二进制的格式存入,用文本编辑器看感觉他就是个文本文件,但实际上不是。
如果硬要算得话,二进制文件文件扩展名是.bat文本文件是.txt这只是人们的一种约定俗成
二进制文件因为是直接存取2进制数字串,比用文本文件存取更快,更节省空间
比如刚才int型数据73,如果我们把它存入文本文件,那么程序会将他先转化为字符串“73”,再拆分成单个的字符‘7’‘3’,然后再将每个字符以ASCll码得形式转化为2进制模式,然后存入文本文件,读取的过程相反,然而有了这个过程程序的读取操作自然赶不上直接把73的二进制数直接存入文件来的要快,而且本身73是:01001001,只需要2个字节,但是转成ASCll码存储,7要占2个,4也要占两个,增加了一倍,所以程序读取二进制文件更高效更省空间
不过人很难解读二进制文件,所以如果用于人机交互,通常会将二进制文件转化成文本文件以便于人们解读
这个取决于他的编码方式,比如下面这段
16进制49这个数,
他的二进制格式为:01001001
这段数字他本身只是一段数字,他只能表示01的这么一个序列,他不能表示任何信息
关键在于我们解读他的方式
如果我们按照char类型的数据来解读它,那么他就是字符 ‘I’
如果我们按照int型的数据来解读它,那么它就是数字73
所谓的文本文件和二进制文件,它里面储存的都是01数列,但是文本文件我们都只以字符的形式来识别他,而二进制文件在文本编辑器中,我们以字符的形式来识别他,但是在程序中我们直接将这串数列取出来,交由程序来判断要以什么形式来取用它,就有了更多的选择
这就是他们的区别,人本身很难判断出一个文件是不是二进制的,比如一个程序将它所有字符串型数据以二进制的格式存入,用文本编辑器看感觉他就是个文本文件,但实际上不是。
如果硬要算得话,二进制文件文件扩展名是.bat文本文件是.txt这只是人们的一种约定俗成
二进制文件因为是直接存取2进制数字串,比用文本文件存取更快,更节省空间
比如刚才int型数据73,如果我们把它存入文本文件,那么程序会将他先转化为字符串“73”,再拆分成单个的字符‘7’‘3’,然后再将每个字符以ASCll码得形式转化为2进制模式,然后存入文本文件,读取的过程相反,然而有了这个过程程序的读取操作自然赶不上直接把73的二进制数直接存入文件来的要快,而且本身73是:01001001,只需要2个字节,但是转成ASCll码存储,7要占2个,4也要占两个,增加了一倍,所以程序读取二进制文件更高效更省空间
不过人很难解读二进制文件,所以如果用于人机交互,通常会将二进制文件转化成文本文件以便于人们解读
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询