在工作中经常接触到各种编码名词,但一直缺少一个系统的了解。在网上搜集相关资料,总结如下:
-
最常见的几种编码方案
-
ASCII:最基本的编码方案
-
GBK:主要用于汉字的编码方案,包含汉字和其他字符,与ASCII码向下兼容(从ASCII、GB2312、GBK到GB18030)
-
Unicode:包含所有文字和符号的编码方案,与ASCII码向下兼容,主要的实现有UTF-8和UTF-16
-
-
明白两个概念:编码方案是指数字到字符的对应关系;编码实现是指将数字映射到具体的编码值,这取决于设定的编码规则,如:
Unicode编码(16进制) ║ UTF-8 字节流(二进制)
000000 - 00007F ║ 0xxxxxxx
000080 - 0007FF ║ 110xxxxx 10xxxxxx
000800 - 00FFFF ║ 1110xxxx 10xxxxxx 10xxxxxx
010000 - 10FFFF ║ 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
3. 高低位(大小头)的概念:编码时高位在前,还是低位在前。解决办法是在流或者文件的头部加标志来判断。