⽹页编码:UTF-8、GB2312
通过改变charset=utf-8中的utf-8就可以改变⽹页的编码。⼀般我们在写css⽂件时候也需要在css⽂件顶部使⽤@charset "utf-8";来定义此CSS⽂件编码类型。⼀般html源代码和css⽂件编码要统⼀,如果不统⼀会导致CSS hack,页⾯乱码⽹页页⾯排版乱等兼容问题。
国内常⽤的流⾏的有utf-8、gb2312这两种。⼀般这两种类型就能满⾜国内⽹页编码需求。当然程序和数据库中也会⽤到这两种编码类型来处理⽹页和存储数据类型。
UTF-8特性:
UCS 字符 U+0000 到 U+007F (ASCII) 被编码为字节 0x00 到 0x7F (ASCII 兼容). 这意味着只包含 7 位 ASCII 字符的⽂件在 ASCII 和 UTF-8两种编码⽅式下是⼀样的.
所有 >U+007F 的 UCS 字符被编码为⼀个多个字节的串, 每个字节都有标记位集. 因此, ASCII 字节 (0x00-0x7F) 不可能作为任何其他字符的⼀部分.
表⽰⾮ ASCII 字符的多字节串的第⼀个字节总是在 0xC0 到 0xFD 的范围⾥, 并指出这个字符包含多少个字节. 多字节串的其余字节都在
0x80 到 0xBF 范围⾥. 这使得重新同步⾮常容易, 并使编码⽆国界, 且很少受丢失字节的影响.
可以编⼊所有可能的 231个 UCS 代码
UTF-8 编码字符理论上可以最多到 6 个字节长, 然⽽ 16 位 BMP 字符最多只⽤到 3 字节长.
Bigendian UCS-4 字节串的排列顺序是预定的.
字节 0xFE 和 0xFF 在 UTF-8 编码中从未⽤到.
GB2312特性:
GB2312标准共收录6763个汉字,其中⼀级汉字3755个,⼆级汉字3008个;同时,GB2312收录了包括拉丁字母、希腊字母、⽇⽂平假名及⽚假名字母、俄罗斯语西⾥尔字母在内的682个全形字符。
GB2312的出现,基本满⾜了汉字的计算机处理需要,它所收录的汉字已经覆盖99.75%的使⽤频率。GB2312中对所收汉字进⾏了“分区”处理,每区含有94个汉字/符号。这种表⽰⽅式也称为区位码。
01-09区为特殊符号。
16-55区为⼀级汉字,按拼⾳排序。
乱码符号有哪些
56-87区为⼆级汉字,按部⾸/笔画排序。
10-15区及88-94区则未有编码。
举例来说,“啊”字是GB2312之中的第⼀个汉字,它的区位码就是1601。字节结构在使⽤GB2312的程序中,通常采⽤EUC储存⽅法,以便兼容于ASCII。每个汉字及符号以两个字节来表⽰。第⼀个字节称为“⾼位字节”,第⼆个字节称为“低位字节”。 “⾼位字节”使⽤了0xA1-
0xF7(把01-87区的区号加上0xA0),“低位字节”使⽤了0xA1-0xFE(把01-94加上0xA0)。例如“啊”字在⼤多数程序中,会以0xB0A1储存。(与区位码对⽐:0xB0=0xA0+16,0xA1=0xA0+1)。
所以GB2312编码中汉字区码的⼗进制是从176到247,位码是从161到255.之所以存储了6763⼩于82*94=6768,是因为在区码为215,位码为250-254之间共五个编码没有汉字编码,所以6768-5=6763个。
GB2312编码可以通俗理解为国内通⽤的语⾔。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。