八一中文网

手机浏览器扫描二维码访问

无形之章9(第12页)

左边是简体中文的,右边是日文

字符集是为字分配一个编码(码点),而这个字存储到文件要再通过特定编码方式(Encoding)来变成实际的二进制数据,这样做的意义在于能够使用不定长(为了节省空间)的编码。

举一个十进制的例子来说:有两个字,编码分别是1、15要存储的话,最简单的方式是存储为定长数据:01、15。

之所以要定长是为了再次读取时不会发生混淆,比如如果直接不定长存储的话,读取10字符时,读到第一位1就以为读到是1了。

1,15存储为110再读取就变成了1,1,5了。

而要定长存储的话,就要浪费很多空间,所以要再经过一次编码,比如这个例子里可以用把1作为标志位,读到1就表明这是2位编码的字,要再度一位。

这样把两个字编码为2、15,这样就能直接存储为215了,这比定长的0115要节省空间。

这个过程就是编码方式(Encoding)来决定的。

实际上的Encoding是根据二进制来处理的,上面的例子只是便于理解。

过去的字符集往往与编码方式相对应,比如GB2312就只使用EUC-CN,这让我们可以忽略它的编码方式,或者说把编码方式看成是字符集的一部分,统称为编码标准,比如只说某个文本是用GB2312文本编码。

而后来出现了可能会又不同的编码方式的字符集,Unicode字符集就有UTF-8、UTF-16LE、UTF-16BE等编码方式,这时就要区分字符集和编码方式了。

用UTF-8、UTF-16等编码方式存储同一个字符,它们的数据可能是不同的,但是这些数据都唯一对应于Unicode中的一个编码(码点:codepoint)。

这本来容易理解,不过Windows下用Unicode来称呼UTF-16LE(应该是由于UTF-16LE是Windows的内部Unicode编码所以就这么称呼)这就造成了很多误解,让人以为UTF-8是字符集。

这篇15000多字的文章,可能是最全面的字体基础知识大全

△Windows用Unicode直接代指UTF-16LE

代码页

代码页(codepage)是操作系统中管理各种编码标准的方法,每个代码页对应一种字符集和编码方式,比如Unicode-UTF-8的代码页是65001,GBK是的代码页是936。

代码页是实际编码标准到应用程序间的中间层,好处是通过改变代码页可以简单的切换系统默认支持的编码标准,而且便于更新编码标准,比如Winodows3.1时代码页936还是对应的GB2312,而winodws95时已经代码页936就更新到对应GBK了,这样应用程序不需要修改就能支持新的编码标准。

Windows中把当前系统默认代码页称为ANSI。

GB2312、GBK、BIG5、Shift_JIS

GB2312是1980年制定的编码标准,GBK是对GB2312的扩展(K)增加了一些字符并保持向下兼容。

BIG5是台湾制定的编码标准,由于台湾使用繁体字,所以这是繁体地区最常用的文本编码标准。

Shift_JIS是日本最常用的文本编码标准。

目前中国大陆的标准是国家编码标准是GB18030。

Unicode

上面的GBK、Shift_JIS等传统编码标准都只为一个地区使用所制定的,而Unicode是目标为所有国家、地区、语言的字编入同一个字符集,所以其被称为统一码、万国码。

Unicode使用平面(Plane)来安排编码空间,每个平面分为256行,256列,即65536个字。

共有17个平面。

所以Unicode共可以容纳约110万字(1,114,112),最大的编码是10FFFF。

目前Unicode8.0已经所使用了12万字(120,737)。

Unicode是个还在不断不断更新扩充的标准。

Unicode的平面分为基本平面BMP(BasicMultilingualPlane)和补充平面(也有翻译成辅助平面)SMP(SupplementaryMultilingualPlane),只有第一个平面是基本平面,也就是Plane0,剩下的16个平面都是补充平面。

如上面所说Unicode有多种编码(Encoding)方式,UTF-32、UTF-16LE、UTF-16BE、UTF-8等,最常用的是UTF-8,其基本平面的字符(主要是ASCII字符)只要使用1个字节存储,而中文通常是占3个字节,少数要占4个字节。

而UTF-16编码第一平面的字符也要占2个字节,中文占2到4个字节。

一般来说存储中文使用UTF-16要比UTF–8占有更少的空间。

UTF–16BE和LE有的只是字节序的差别,BE是大端在前,LE是小端在前。

此外历史上还有UCS-2、UTF7等的编码方式,至今已经很少使用了。

由于历史原因JavaScript内部使用的是UCS-2。

UCS-2可看成是UTF-16的字集。

本周收藏榜
热门小说推荐
诱妻入怀,狼性前夫靠边

诱妻入怀,狼性前夫靠边

她是天下第一神偷,可哪曾想,有一天她会被一个男人偷播了种。关键的关键是,怀胎八月辛辛苦苦生下的宝宝,竟然也被那个男人偷走,是可忍孰不可忍。时隔五年之后,成为娱乐巨星的她再次回归。男人,你欠我的,我要一步一步拿回来。开玩笑,她是谁,绝世神偷。...

帝少蜜爱小甜妻

帝少蜜爱小甜妻

为了一份合同,她被亲爹出卖,送上别人的床。在她最绝望之时遭遇七年前的前男友,如今的帝国总裁。他冷傲一笑穆思思,七年前,你不辞而别。七年后,我要你求着回到我身边。以为会是一场新的噩梦,他却捧她爱她,宠她上天。霍少,夫人想当服装设计师。买下最好的服装工作室。他从容淡定。霍少,夫人身边出现了一个追求者。反了天了!他拍桌而起!...

神豪之开局怒怼前女友

神豪之开局怒怼前女友

神豪之开局怒怼前女友简介新建书友群493773554开局拜金前女友大庭广众之下想和我复合?旁边的围观群众还帮她说话?是可忍孰不可忍!叮!激活人生在世只求爽选择系统!选择臭骂一顿前女友,获得法拉利ferrari一辆,顺便训斥了一顿围观群众,获得额外奖励一亿元现金!从此叶承开启了神豪的一生!关键词神豪之开局怒怼前女友最新章节神豪之开局怒怼前女友无弹窗神豪之开局怒怼前女友全文阅读必会有猫...

茅山鬼捕

茅山鬼捕

茅山弟子下山捉鬼,却被人找去冲喜,跟死人结婚,帮死人冲喜!看着棺材里那具绝美的女尸,叶知秋为难了,冲,还是不冲?注意茅山鬼捕为书友上传念响吧作品,小兵无遮挡广告无弹窗,页面简洁让我们畅快阅读茅山鬼捕无弹窗全文阅读,剧情丰富精彩,角色刻画细腻,世界观宏大,欢迎品鉴。...

每日热搜小说推荐