Char set

============================================================================================
字符编码
字符集:ucs-4 由iso-10646制定, 它包括0x10FFFF个字符,十进制是1,114,111
ucs-2由unicode组织制定,为16位,也是ucs-4的子集,也称为 基本多语言面 (Basic Multilingual Plane, BMP)。用"U+" 跟十六进制4E25表示unicode字符。
它的编码方式有GBK,ASCII,UTF-8,UTF-16,UTF-32
UTF-8是unicode字符集的一种编码实现方式,它是不定长的,可节省空间
UTF-8编码规则只有两条:
1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。
2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。
Unicode符号范围  |              UTF-8编码方式
(十六进制)             |              (二进制)
--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF   | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
"严"的unicode是4E25(100111000100101),在(0000 0800-0000 FFFF)范围内,所以UTF-8编码是"11100100 10111000 10100101",转换成十六进制就是E4B8A5。
对于unicode编码因为是定长二字节的,所以存在标识是大端还是小端存储问题,所以Unicode规范中定义了BOM(Byte Order Mark),用FFFE两个字节来标识,这个标识叫“ZERO WIDTH NO-BREAK SPACE”,如果unicode编码的文件头两字节是FF FE则为小端存储,FE FF为大端存储。
utf-8没字节序的问题,因为根据它的编码方式可以看出来字节序,但utf-8编码的文件有EF BB BF三个字节来标识它是utf-8的文件。

============================================================================================
ISO 646 字符集,ascii
ISO8859-1 字符集,也就是 Latin-1,是西欧常用字符,包括德法两国的字母。
ISO8859-2 字符集,也称为 Latin-2,收集了 东欧 字符。
ISO8859-3 字符集,也称为 Latin-3,收集了 南欧 字符。
ISO10646 定义了通用 字符集 (Universal Character Set, UCS),一个 31 位的 字符集

============================================================================================
码表:是用来将字符与二进制编码进行映射的。
有ascii码表,gbk码表,unicode码表,utf-8码表。

汉字的输入、存储、交换与显示过程:外码→内码→交换码→字形码。
外码:又称输入码,我们平常用的拼音输入和五笔输入法所敲打的字母。
内码:计算机存储信息是二进制的,输入的汉字要转化成二进制的形式,它们的集合就叫字符集。
交换码:又称国标码,是和别的计算机交换信息时使用的编码。
字形码:又称汉字字模,把二进制的汉字编码还原为可视的图形,它们的集合又叫字库。

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

============================================================================================

猜你喜欢

转载自blog.csdn.net/venlv2046/article/details/80274942