什么是进制
进制:几进制就是满几进一
通常有二进制(0,1<10,11><100,101><110,111>),十进制(0,1,2,3,4,5,6,7,8,9<10,11,12,13,14,15,16,17,18,19>),十六进制(满16进一所以要用特殊的字符表示 10,11,12,13,14,15...所以就是0,1,2,3,4......9,a,b,c,d,e,f进一10,11,12...19 1a 1b 1c 1d 1e 1f),八进制(0,1,2,3,4,5,6,7进一10,11,12,13,14,15,16,17,20,21,22)
用他们去存储字符,字符编码是字符集的实现方式。
什么是字符集?编码有何用途?
字符集是书写系统字母与符号的集合。例如,ASCII 字符集包括英语字母、符号;ISO-8859-6字符集包括许多基于阿拉伯语言文字的字母、符号;Unicode 字符集涵盖世界上多数活语言文字字符。
字符集里的字符在计算机中存储为一个或多个字节,每一个或每一序列字节代表一特定字符。字符编码关键在将一特定字节或序列字节编码对应 ( 映射 )以文本字体显示的特定字符。
现有许多不同类型的字符编码。 如果错用了与存储字节不一致的编码, 结果就是乱码。所以,如要文字内容可以阅读,则要正确标注字符编码,这很重要。
下图为ASCII字符集可显示字符。
遇到的乱码问题
现有许多不同类型的字符编码。 如果错用了与存储字节不一致的编码, 结果就是乱码。所以,如要文字内容可以阅读,则要正确标注字符编码,这很重要。我们的计算机是非常笨的机器,它所认识的东西只有0,1。所以在计算机中保存的任何内容,最终都需要转化为0,1 二进制编码保存,包括网页中的内容。
比如:显示两个文字,可能要转换为1010001001010101011010,读取时要将这二进制编码转换为正确内容
再看下图
实际字符的转换的过程
1.将字符转换为二进制的过程
2.将二进制转化为字符的过程
所以产生乱码的原因就是这两个过程的字符集不同所导致,声明正确的字符
编码的选择
每个开发人员,无论是内容创作或编程,都必须事先决定使用哪一种字符编码。大多推荐用UTF-8,但仍会有其它因素需要考虑,方可定夺。
声明和应用编码
一旦决定使用何种编码,内容创作者和程序员必须确保此编码要正确地予以声明。
在象XHTML这一类的技术中,编码声明并非总是直接了当的,这就需要正确理解“标准”模式与“非标”模式, 也要理解XML声明的作用。
仅予标注还不够,你还须确保数据以选定编码存贮。
内容开发人员和网站管理员也要确保服务器能够以正确的字符编码声明传递内容,因为服务器的设置将会覆盖文档中的声明。