UTF-8 是 UNICODE 的一种变长字符编码,即 RFC 3629。简单的说大字符集可以解决多种语言文本显示问题,从而实现应用国际化和本地化。
对系统来讲,UTF-8 编码可以通过屏蔽位和移位操作快速读写,排序更加容易。UTF-8 是字节顺序无关的,它的字节顺序在所有系统中都是一样的。因此 UTF-8 具有更高的性能。
UTF-8:
常用中文字符用utf-8编码占用3个字节(大约2万多字),但超大字符集中的更大多数汉字要占4个字节(在unicode编码体系中,U+20000开始有5万多汉字)。
GBK、GB2312:
一个英文字母,一个数字,一个符号各占一个字节。
一个汉字占两个字节。
严格地用iso8859-1无法表示汉字,只能转为问号
编码格式
1、ASC码表:美国信息标准交换码(这是最初的一个表,其中的字母用各种各样的数字进行代替)。
2、GB2312:中国汉字的编码表(里面收录了几千个中国常用汉字和字符)。
3、GBK:GB2312的扩容版(里面收录了两万多的中国汉字,因为中国汉字博大精深)。
4、18030表:相当于GBK的扩容版(里面收录了各个民族的字,后期会讲到)。
5、Unicode表:将世界上所有的语言中的文字进行的整合,所产生的一个表(里面无论什么字符都用两个字节进行表示,也就是16个二进制位)
6、UTF-8表:Unicode表进行优化之后的一个表(该使用一个字节的用一个字节,该用两个或者三个的用两个或者三个)。