文件基础知识

这篇学习笔记主要是谈我对文本文件字符编码和二进制值编码的认识,上课的时候也没太明白到底区别在哪,就只好自己搜集一些资料,最大程度浅层的认识一下哈哈哈哈。


前言

1.为了保存数据方便修改,数据通常以文件的形式存储在磁盘等外部存储介质中
2.简单字符的文本到格式复杂的word文档,静态图像到多媒体视频,从桌面数据库到复杂的网络数据库,信息都是以文件的形式存储到磁盘上


一、分类

无论何种类型文件,都是以二进制编码在内存或磁盘上存储的,即物理层面是一致的。所以说,分类的依据是逻辑层面编码的不同。

1.文本文件

基于字符编码,如ASCI码、Unicode编码等。 文本文件存储的是普通字符串,能够用记事本等文本编辑器直接显示字符、进行编辑。

2.二进制文件

二进制文件是基于值编码的,以字节串的形式存储,其编码长度根据值的大小长度可变。通常在文件的头部相关属性中定义表示值的编码长度。二进制文件不能用文本编辑器显示或编辑,如声音、图像等文件。

3.二者联系区别——我的理解

1.二进制文件,保存数据时,内存数据就是直接一个字节一个字节保存的。而读取时,一个字节一个字节读到内存后,需要一个规范,就是前面提到的基于值编码是不确定的,需要计算机去告诉你几个字节合并,是代表数字还是字母。
2.文本文件,保存数据时,数据是经过ASCII编码转换为二进制编码再一个字节一个字节保存的。读取时,把读取到的每个字节按照ASCII码表的规范转换一下。
3.差别在于打开文件的程序对内容的解释上。
可以简单认为,可使用文本编辑器打开,且展示出我们能够读得懂的文件,都可以算文本文件,txt,html等,这些文件的编码是符合某种文字编码规范,如果不符合,打开看到是乱码,就可以认为他是二进制文件。比如,当你打开一个扩展名为txt的文件,或者虽然扩展名不是txt,但是你使用文本编辑器强行打开时,文本编辑器就会认为这是一个文本文件,然后使用文本文件对应的规则来“翻译”这些二进制序列。若是文本文件 ,咱们就能看懂。如不是,解析出来的就是乱码
4.那么,对于常见图片格式JPEG,音频格式,视频格式,他们用文本编辑器是打不开的或者打开是乱码,他们就是二进制文件,就要使用通用的规范编码,是要计算机特定软件处理分析才能显示。


总结

我们之所以能看懂文本文件的内容,是因为文本文件中采用的是 ASCII、UTF-8、GBK 等字符编码,文本编辑器可以识别出这些编码格式,并将编码值转换成字符展示出来。而对于二进制文件,文本编辑器无法识别这些文件的编码格式,只能按照字符编码格式胡乱解析,所以最终看到的是一堆乱码。

其实写完就发现原来这么理解是这么容易!!
一点也不难,可是昨天真的让我懵了哈哈哈哈

猜你喜欢

转载自blog.csdn.net/m0_50316716/article/details/109219314
今日推荐