说到编码,你会想到什么?你想到的可能是gb2312、gbk、utf-8、unicode、ansi、ascii,你还会想到项目中常常碰到的汉字乱码问题,编辑器里面的汉字便乱码了?浏览器便乱码了?怎么回事?是不是一通捣鼓之后又不乱了,下次碰到的时候,有是一通捣鼓?还会想到什么?java代码点?windows代码页?好多软件有unicode版本?unicode版本是怎么回事?多语言版本?国际化?。。。
一提到编码,想必这些概念会在你脑子里乱窜。该是理清一下的时候了!
字符集 | 字符长度(位) | 说明 |
---|---|---|
ASCII | 7 | 0-127,0x20 |
ASCII扩展字符集 | 8 | 128-255 |
GB2312 | 8+8 | (0xA1-->0xFE)(0xa1-->0xFE) ,全角(双字节版的ASCII)、半角(同ASCII) |
GBK | 8+8 | (0x80-->0xFE)(0x40-->0xFE),GB2312的扩展 |
GB18030 | 8+8 | GBK的扩展,增加了新字符 |
UCS(UNICODE) | 8+8 | GBK 与UNICODE不兼容 |
UTF-8、UTF-16 | UCS Transfer Format,可以按照一定规则和UCS互相转换 | |
ISO-8859-1 |
文件的编码:
http://en.wikipedia.org/wiki/Byte_order_mark
参考的文章:
http://zh.wikipedia.org/wiki/Unicode
http://en.wikipedia.org/wiki/Windows-1252
http://en.wikipedia.org/wiki/ISO/IEC_8859-1