对于计算机后缀的一些理解
一下内容,是我自己的一些理解与思考,如果有错误,感谢指正。
文件为什么会加后缀名?他为什么不是全是清一色的相同文件?
我的理解:
- 后缀名是为了方便用户和计算机程序进行识别,毕竟计算机的产生就是为了方便人的。
(1). 对于计算机程序而言,有了后缀名计算就可以知道这个文件是什么类型的文件,是文本文件?是图像文件?还是视频文件?这样计算机就可以选择默认的软件去打开他,比如 【文本.txt 】计算机根据后缀就知道他是一个文本文件,就会用默认文本软件打开他;比如【图片.png】计算机根据后缀就知道他是一个图像文件,就会用默认的图像软件打开他。
举例:
1。新建一个文件【文本.txt】
2。双击【文本.txt】文件进行编辑 /*这时候计算机根据其后缀是知道文件是文本文件的,所以他会用计算机的默认文本软件记事本打开【文本.txt文件】**/
3。输入内容“我是一个沙雕”,并修改其后缀为【文本.abcd】
4。这时候计算机是无法识别后缀.abcd的,所以不知道用什么软件打开。需要你进行手动选择软件进行打开
(2)对于用户而言,有了后缀名用户就可以清楚的知道这个文件是什么类型的文件,根据自己的需要对文件进行操作。 - 所以说后缀名就是一种规范(通俗的说) ,以此来规范一个文件是什么类型,这只会对计算机识别用什么样的软件打开有影响。你修改后缀名,并不会影响文件的二进制流,他内部是什么二进制流还是相同的二进制流,且他只能被他所规定的程序正常读取而不产生乱码,比如图片可以被图片软件打开而不产生乱码,被文本软件打开就产生乱码。其实所有的文件都是二进制流文件,只是为了方便操作引入了后缀名。
- 乱码的产生就是因为字符集的不同,即编码和解码所采用的规则不同,一个道理,比如你一个.txt文件你以文本的方式进行编码保存,而以图像的方式进行解码查看,这样就会产生乱码。
举例2:为什么linux可以在命令行下打开后缀为.abcd的文件而不乱码
因为linux命令行下,linux只能输入输出文本,所以linux对无法识别的后缀都采用文本方式打开。
总结:
###后缀就是为了方便计算机程序识别文件类型,并采用默认的软件打开文件(如果你想每次打开一个文件,都手动选择用什么软件打开,那你就不需要后缀)
有错误请指正,谢谢!