1、ASCII编码(0-127)
2、(128-255):IBM EASCII、ISO-8859-1(Latin-1)
3、Unicode == UCS
编码长度为31位,用4个字节表示,其中:
(0-127)与ASCII编码相同,
(128-255)与ISO-8859-1(Latin-1)相同。
问题:C语言中的编码0表示字符串结束符,所以产生了UTF-8。
4、UTF-8编码
Unicode/UCS | UTF-8编码 |
U-00000000 – U-0000007F | 0xxxxxxx |
U-00000080 – U-000007FF | 110xxxxx 10xxxxxx |
U-00000800 – U-0000FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
U-00010000 – U-001FFFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
U-00200000 – U-03FFFFFF | 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
U-04000000 – U-7FFFFFFF | 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
(1)第一个字节要么最高位是0(ASCII编码);
(2)第一个字节要么最高两位都是1,最高位之后的1的个数表示后面有多少个字节也属于当前字符编码。
参考文献:
(1)http://learn.akae.cn/media/apas02.html
(2)ASCII
(3)Latin-1
(4)Unicode官网 http://www.unicode.org/
(5)UCS
(6)UTF-8