文本文件与二进制文件

文件在计算机中存储分两种:

人可读的文本文件和不可读的二进制文件

它们本质上都是以1和0存储的。可读的意思是,(经过软件打开),这堆0和1能对应到人能阅读的文字

在unicode标准出现前,不同国家选用不同的编码方式编码文字。汉字是GB编码,英文是ascii。

编码方式决定了每个“文字”占用多少位的空间,如何标志一个文字的结束,另一个文字开始等等。

比如,一个5字节的ascii文本文件,用GB编码打开,可能被认为是一个3字节汉字,还有两个无法匹配的字节。

这种不兼容的情况,就是乱码。

Unicode是一个国际标准,收录了全世界大部分的文字。不难想象,若用最简单的实现,固定4个bytes表示unicode,排在前面的文字会有很多0000在前面。

这样会浪费许多空间,于是工程师们设计出UTF-8等变长的编码。它们是unicode的一个具体实现。

根据不同软件的实现,文本文件(可选地)带有头信息,说明自己是用哪种编码方式的。

像linux下用vim编辑的文件,就默认不带头信息。

猜你喜欢

转载自www.cnblogs.com/kinsang/p/9124535.html