http://blog.csdn.net/gls_liujia/article/details/5803842#
http://bbs.csdn.net/topics/390319628
1:ascii编码
- 一字节编码(共有256种状态):
- 0-31:控制码(例如:00x10-换行)
- 32-127:符号、数字、大小写字母
- 128-255:扩展字符
2:GB2312
- 2字节编码,扩展ascii:
- 小于127者,意义不变(半角);
- 两个大于127的字节连在一起的,组成汉字;
- 汉字的高字节:0xA1-0xF7,汉字的低字节:0xA1-0xFE;
- 包含:7000+个简体汉字,罗马希腊的字母,日语的假名,ascii中含有的字符、数字和字母(全角)。
3:GBK
- 2字节编码,扩展GB2312:
- 第一字节大于127者,即为汉字;
- 包含:GB2312的所有内容,增加近20000个汉字、符号
以上编码中,一个汉字算2个英文字符!
4:Unicode
- 2个字节表示一个字符,可表示65535个字符;
- 不兼容现有编码方式,编码转换只能通过查表
5:UTF-8
- 网络传输数据:
- UTF-8:每次8位;
- UTF-16:每次16位;
- 从Unicode到UTF-8没有直接对应,需要一定的算法和规则转换;
- 对于网络传输,数据高低位的解读:在文本流的开始发送标志位(FEFF:高位发送,FFFE:低位发送)