我们所看所说的都是某种字符,如英文 汉字等 ==》字符集
计算机存储与处理的都是用二进制数 ==》字符编码
字符集(charset):某种(各种)文字和符号的集合
字符编码(character encoding):在符号集合与数字系统之间建立的对应关系。也就是将符号转换为计算机可以接受的数字系统的数,称为数字代码。
编码:按照何种规则将字符存储在计算机中,如'a'用什么表示,称为编码。
解码:将存储在计算机中的二进制数解析显示出来,称为解码。
要知道:同样的文本,不同的编码所存储的二进制数据是不同的。
ASCII(American Standard Code for Information Interchange):它是现今最通用的单字节编码系统,主要用于显示现代英语
ASCII字符集:主要包括控制字符,英文大小写字符 阿拉伯数字和西文符号等,也叫"半角"字符
ASCII编码: 将ASCII字符集转换为计算机可以接受的数字系统的数的规则,用一个字节来表示
GB2312:这是比较通用的汉字的编码系统。使用两个字节来表示。涵盖了ASCII字符集,因包含的符号较全面,也称为"全角"字符
Unicode编码系统为表达任意语言的任意字符而设计。它使用4字节的数字来表达每个字母 符号 或者表意文字。每个数字代表唯一的至少在某种语言中使用的符号。
可以说Unicode是字符集,UTF-32 UTF-16 UTF-8是三种基于Unicode的编码规则。
UTF-32 (32-bit Unicode Transformation Format):固定用4个字节的数字来代表唯一的某个字符。
UTF-16 (32-bit Unicode Transformation Format):0到65535之内用2个字节表示,超出则用4个字节表示
UTF-8 (8-bit Unicode Transformation Format):128个US-ASCII字符只需一个字节编码
拉丁文 希腊文 亚美尼亚语等用两个字节编码
基本多文种平面字符,如汉字使用三个字节编码
极少使用的用四字节编码
是现今世界较通用的编码方式
要点:
1、用什么样的编码格式录入(存储,保存),就告诉浏览器用什么样的编码格式(<meta charset="" />)解码显示。
2、UTF-8+BOM编码似乎能够较好的解决因代码移植引起的乱码问题。UTF-8是推荐的编码方式。
几个常用的特殊字符的编码:
" => "
' => '
=>
< => <
> => >
& => &