6. 常见的文件编码方式及查看网页源码的编码方式
文章目录
- 6. 常见的文件编码方式及查看网页源码的编码方式
- 1. 编码的由来
- 2. 编码的作用
- 3. 常见的编码方式
- 4. ASCII码
- 5. Unicode符号集
- 6. UTF-8
- 7. GB2312
- 8. GBK
- 9. ISO-8859-1
- 10. 文件编码查看方式
- 11. 网页编码查看方式
- 12. 留言
1. 编码的由来
编码的由来可以追溯到最早的电报通信时期。
在那个时候,人们需要将书写好的信息通过电报传输到远处,但电报线路的带宽有限,不能传输大量的数据。
为了解决这个问题,人们开始使用编码方式,将书写好的信息转换成二进制数字,通过电报线路传输。
【示例】
二进制01000001(对应十进制65)表示大写字母A。
二进制01000010(对应十进制66)表示大写字母B。
二进制01000011(对应十进制67)表示大写字母C。
由于计算机只能识别和处理二进制数字,必须将字符集中的字符转换成二进制数字才能在计算机中进行处理。
因此,计算机中的编码方式也随着发展不断更新和完善。
随着互联网和全球化的发展,人们需要在不同语言和字符集之间进行输入、输出和处理,编码也变得越来越复杂和多样化。
现在,我们已经有了很多种编码方式,每种编码方式都有其特定的应用场景和优缺点。
计算机中最小的存储单位是字节(byte)。
byte[baɪt]:字节。
bytes:字节。
最早的计算机在设计时采用8个比特(bit)作为一个字节(byte)。
bit[bɪt]:比特。
一个字节能表示的最大的整数就是255。
二进制11111111 = 十进制255。
即一个字节最多也只能表示255个字符。
如果要表示更大的整数,就必须用更多的字节。
比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。
计算机是美国人发明的,最早只有127个字符被编码到计算机里。
也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码。
比如大写字母A的编码是65,小写字母z的编码是122。
但是要处理中文显然一个字节是不够的,至少需要两个字节。
而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。
但有人又觉得太多的编码导致世界变得过于复杂了。
为了统一方便,所有语言的字符都用同一种字符集来表示,这就是Unicode字符集。
有了编码就得有解码。
就像美国人和中国人沟通,就需要一个翻译。
解码就是一个翻译,将编码翻译成双方都能懂的语言。
而各种编码方式其实就是一部部字典。
2. 编码的作用
编码是将字符集中的字符转化为计算机可以识别和处理的二进制数字的过程。
它的作用主要有以下几个方面:
【存储和传输】
计算机只能识别二进制数字,通过编码将字符转换成二进制数字,可以方便地在计算机内存中存储和在网络中传输。
【显示和打印】
通过编码将字符转换成二进制数字,可以在计算机屏幕上显示、打印机上打印出对应的字符。
【处理和计算】
通过编码将字符转换成二进制数字,计算机可以对这些数字进行处理和计算,实现各种功能。
【国际化和多语言支持】
不同国家和地区使用的字符集不同,通过不同的编码方式,可以支持不同语言和字符集的输入、输出和处理。
【总结】
编码是计算机中非常重要的一环,它为计算机的输入、输出和处理提供了基础和保障。
3. 常见的编码方式
ASCII编码:7位二进制编码,能够表示128个字符。
Unicode编码:16位二进制编码,能够表示65536个字符,包括世界上所有的语言字符。
UTF-8编码:基于Unicode编码,采用可变长度的编码方式。
UTF-16编码:基于Unicode编码,采用16位或32位编码方式。
GBK编码:是一种汉字编码方式,能够表示21003个汉字和图形符号。
GB2312编码:是GBK编码的前身,只能表示6763个常用汉字。
Big5编码:是一种繁体中文编码方式,主要用于台湾、香港等地区。
4. ASCII码
ASCII码全称American Standard Code for Information Interchange
(美国信息交换标准代码)。
Standard [ˈstændəd]:标准。
code[kəʊd]:密码。
Information[ˌɪnfəˈmeɪʃn]:信息。
Interchange [ˈɪntətʃeɪndʒ]:交换。
ASCII码是美国在19世纪60年代的时候为了建立英文字符和二进制的关系时制定的编码规范。
它用一个字节来表示具体的字符,但它只用后7位来表示字符(2^7=128),最前面的一位统一规定为0。
5. Unicode符号集
为了自己的语言能在计算机中正常显示,每个国家和地区都有各自的编码,所以编码多了谁也不认识对方的编码,这时候ISO组织就提出了一种新的编码叫UNICODE编码让全球的文化、字符、符号都能支持。
Unicode:统一字符标准。
Unicode在制定时计算机容量已不是问题,所以设计成了固定两个字节,所有的字符都用16位表示,包括之前只占8位的英文字符等,所以会造成空间的浪费,因此Unicode在很长的一段时间内都没有得到推广应用。
因为每个国家和地区都有各自的编码,同一个二进制数字可以被解释成不同的符号。
因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。
为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样。
而Unicode就是这样一种编码:它包含了世界上所有的符号,并且每一个符号都是独一无二的。
比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,U+4E25表示汉字“严”。
很多人都说Unicode编码,但其实Unicode是一个符号集(世界上所有符号的符号集),而不是一种新的编码方式。
但是正因为Unicode包含了所有的字符,而有些国家的字符用一个字节便可以表示,而有些国家的字符要用多个字节才能表示出来。
【因此产生了两个问题】
-
如果有两个字节的数据,那计算机怎么知道这两个字节是表示一个汉字还是表示两个英文字母呢?
-
因为不同字符需要的存储长度不一样,那么如果Unicode规定用2个字节存储字符,那么英文字符存储时前面1个字节都是0,这就大大浪费了存储空间。
【上面两个问题造成的结果是】
-
出现了unicode的多种存储方式,也就是说有许多种不同的二进制格式,可以用来表示unicode。
-
unicode在很长一段时间内无法推广。
6. UTF-8
互联网的普及,强烈要求出现一种统一的编码方式。
UTF-8就是在互联网上使用最广的一种unicode的实现方式。
UTF-8最大的一个特点,就是它是一种变长的编码方式。
UTF-8的编码规则如下:
UTF-8采用了一种变长技术,每个编码区域有不同的字码长度,不同类型的字符可以由1-6个字节组成。
UTF-8对ASCII字符使用单字节存储,单个字符损坏也不会影响后面的字符,所以UTF-8非常适合在网络上面传统,也是现在使用最广泛的编码之一。
如果要表示中文,UTF-8编码效率要低于GBK,高于UTF-16,所以它也是除了GBK之外最理想的编码方式。
7. GB2312
GB2312的全称是《信息技术中文编码字符集》。
GB2312是双字节编码,如果字符在ASCII字符集中,便采用单字节编码,编码范围是A1-F7,其中A1-A9是符号区,总共包含682个符号;B0-F7是汉字区,包含6763个汉字。
GB2312主要用于计算机系统中的汉字处理。
GB2312主要收录了6763个汉字、682个符号。
GB2312覆盖了汉字的大部分使用率,但不能处理像古汉语等特殊的罕用字,所以后来出现了像GBK、GB18030这种编码。
8. GBK
GBK的全称是《汉字内码扩展规范》。
GBK,全称为Chinese Internal Code Specification,即汉字内码扩展规范。
它主要是扩展了GB2312,在它的基础上又加了更多的汉字,它一共收录了21003个汉字。
GBK是向下兼容GB2312编码的,也就是说GB2312编码的汉字可以用GBK正常解码不会出现乱码,但用GBK编码的汉字用GB2312解码就不一定了。
9. ISO-8859-1
ISO-8859-1是一个8位单字节字符集。
该编码是在ASCII编码的基础上扩展出来的,但它仍然是单字节编码,总共只能表示256个字符。
既然ASCII只能表示128个字符,显示是不能完全表示完的。
所以ISO-8859-1扩展了ASCII编码,在ASCII编码之上又增加了西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号,它是向下兼容ASCII编码的。
ISO-8859-1能与ASCII 兼容,同时它的适用范围又较广。
一些协议或软件把它作为一种缺省编码, 当然, 现在更好的选择是 UTF-8。
10. 文件编码查看方式
windows系统查看文件编码方式:
以常见的txt、csv、excel文件为例。
这三种类型的文件都可以用相同的方法查看编码。
以查看TXT文件为例:
-
单机要打开的文件。
-
点击鼠标右键。
-
点击【打开方式】。
-
点击【记事本】。
-
点击【文件】。
-
点击【另存为】。
在弹出的窗口底部就可以看到该文件的编码为UTF-8
。
11. 网页编码查看方式
-
在360浏览器中输入网址:
https://www.baidu.com/
。 -
按【F12】快捷键。
-
点击【元素】。
-
按【ctrl+F】后出现一个搜索框。
-
在搜索框中输入【charset】。
charset [t’ʃɑ:set]:字符集,编码,字符编码。
- 黄色字体后面的
utf-8
就是网页编码方式。
charset=utf-8
12. 留言
【文章参考链接】
1. 字符集与编码(八) ASCII 和 ISO-8859-1
2. ASCII码、ISO8859-1、Unicode、GBK和UTF-8 的区别
3.推荐阅读:字符编码笔记:ASCII,Unicode 和 UTF-8