计算机中文件的概念
1|0文件
所谓“文件”,就是存储于某种介质中,用以实现某种功能、或某个软件的部分功能为目的而定义的一个数据单元。
一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。
计算机中的文件可以是文档、程序、快捷方式或设备。从数据存储的角度来说,所有的文件本质上都是一样的,都是由一个个字节组成的,归根到底都是 0、1 比特串。不同的文件呈现出不同的形态,这主要是文件的创建者和解释者约定好了文件格式。
2|0格式
所谓“格式”,就是关于文件中每一部分的内容代表什么含义的一种约定。例如,常见的文本文件能够用“记事本”程序中打开,并且能看出是一段有意义的文字的文件。文本文件的格式可以用一句话来描述:文件中的每个字节都是一个可见字符的 ASCII 码。除了纯文本文件外,图像、视频、可执行文件等一般被称作“二进制文件”。
3|0字节
字节是计算存储容量的一种计量单位。我们知道计算机只能识别1和0组成的二进制位。一个数就是1位比特位(bit),为了方便计算,我们规定8位就是一个字节。
例如 :00001111 这个8位二进制数就占了一个字节的存储容量。
4|0字符
任何一个可输入文字或符号都是一个字符,但所占字节不一定,不同的编码导致一个字符所占的内存不同。
例如:标点符号+是一个字符,汉字我们是两个字符,在GBK编码中一个汉字占2个字节,在UTF-8编码中一个汉字占3个字节。
5|0字库表
一套编码规范不一定包含世界上所有的字符,每套编码规范都有自己的使用场景。而字库表就存储了编码规范中能显示的所有字符,计算机根据二进制数从字库表中找到字符然后显示给用户,相当于一个存储字符的数据库。
例如:中文,日文,韩文的字库表通常在使用该语言的人群中有需求
6|0字符集
字符集是一套编码规范中的子概念,也称编码字符集。为了显示字符,国际组织就制定了编码规范,希望使用不同的二进制数来表示代表不同的字符,这样电脑就可以根据二进制数来显示其对应的字符。在一个字库表中,每一个字符都有一个对应的二进制地址,而字符集就是这些地址的集合。
7|0字符编码(编码方式)
知道字库表和编码字符集后,我们就可以直接使用二进制地址来得到字符了。
但直接使用字符对应的二进制地址来显示文字是十分浪费的,Unicode 编码规范中包括了几百万个字符,想要包括几百万个不同的字符,起码需要3个字节的容量,为了方便将来扩展,Unicode还保留了更多未使用的空间,最多可以存储4个字节的容量。
因此为了区分每个字符,哪怕是00000000 00000000 00000000 00001111这种其实只占了1个字节的字符,我们也要为他分配4个字节的空间,这就导致一个可以用1G保存的文件,现在需要4G才能保存,这是极其浪费的做法。
于是程序员制定了一套算法来节省空间,而每种不同的算法都被称作一种编码方式(符编码)。一套编码规范可以有多种不同的编码方式,不同的编码方式有不同的适应场景。
例如:UTF-8就是一种编码方式,Unicode是一种编码规范。此外,Unicode还有UTF-16,UTF-32这两种编码方式。不同的编码方式节约的空间不同。
__EOF__

本文链接:https://www.cnblogs.com/qingzhao/p/17127890.html
关于博主:I am a good person
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析