历史版本1 :编码 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

1. 概念了解编辑

编码就是将源对象的信息内容按照一种标准格式或形式转换为另一种标准格式。n位二进制数可以组合成2的n次方个不同的信息,给每个信息规定一个具体码组,此过程也叫编码。
如服务器与客户端的交互
举个简单的例子,在中国,标准的语言是普通话,一个说英语的美国人来到中国,他的话就需要先翻译成中文才被中国人接受,这个翻译的过程就是编码的过程。

2. 编码原理编辑

因世界上有不同的语言和文字,所以需要将不同的文字编码,通过计算机处理和传输。现在编码的种类非常多,主要目的就是为了信息间的转换。

3. 分类编辑

目前常用的字符编码有:ASCII(美国标准信息交换码)、EBCDIC(扩展的BCD交换码)、GB2312、Unicode、UTF-8、ISO-8859-1及GBK 。下面就一般使用率较高及易混淆的编码作讲解。
ISO-8859-1是西欧的编码,只支持英文编码,为单字节编码,最多能表示的字符范围是0-255。比如,字母'a'的编码为0x61=97。ISO-8859-1编码表示的字符范围很窄,无法表示中文字符。"中文"两个字不存在ISO-8859-1编码,以GB-2312编码为例,应该是"d6d0 cec4"两个字符,使用ISO-8859-1编码的时候则将它拆开为4个字节来表示:"d6 d0 ce c4"
GB2312采用的编码是支持简体中文编码,用两个字节编码一个字符,是中国标准的简体中文字符集。它所收录的汉字已经覆盖99.75%的使用频率,基本满足了汉字的计算机处理需要。在中国大陆和新加坡获广泛使用。比如,"中文"两个字应该是"d6d0 cec4"两个字符。
UTF-8 采用的编码是世界通用的语言编码。是Unicode的其中一个使用方式,即是把Unicode转成的某种格式。UTF-8便于不同的计算机之间使用网络传输不同语言和编码的文字,使得双字节的Unicode能够在现存的处理单字节的系统上正确传输。"中文"两个字如果是UTF编码,则是6个字节"e4 b8 ad e6 96 87"

另:考虑到Unicode编码不兼容ISO-8859-1编码,且易占用更多空间。因为对于英文字母,Unicode也需要两个字节来表示,所以Unicode不便于传输和存储。因此产生了UTF编码,UTF编码兼容ISO-8859-1编码,同时也可以用来表示所有语言的字符,不过UTF编码是不定长编码,每一个字符的长度从1-6个字节不等。另外,UTF编码自带简单的校验功能。一般来讲,英文字母都是用一个字节表示,而汉字使用三个字节。