Ascii Unicode Mbcs Utf8 Charset Encoding Codepage Font

来源:互联网 发布:南方策略优化基金净值 编辑:程序博客网 时间:2024/06/06 01:53

ANSI/ASCII :由美国国家标准委员会指定的是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO 646 。

MBCS : 多字节字符集,是一种替代 Unicode 以支持无法用单字节表示的字符集(如日文和中文)的方法。为国际市场编程时应考虑使用 Unicode 或 MBCS,或使程序能够通过更改开关来生成支持两种字符集之一的程序。MBCS是兼容ANSCII的,所以基本上可以说字符编码就两种Unicode和MBCS。

UNICODE : 是统一字符编码,这样就可以识别世界上的所有文字符号了。Unicode 是基于通用字元集(Universal Character Set)的标准。Unicode 包含了超过十万个字元、一组可用以作为视觉参考的代码图表、一套编码方法与一组标准字元编码、一套包含了上标字、下标字等字元特性的列举等。

UTF-8 : 英文全称为8-bit UCS/Unicode Transformation Format。是针对Unicode 的一种可变长度字元编码。由于一些平台受到早期ASCII的影响,导致不能完全适应UNICODE编码,所以提出了UTF-8编码,UTF-8是专门为UCS/Unicode设计的编码格式,并且完全兼容ASCII。当然UTF-8不是UNICODE编码。

UTF-16 : 英文全称为8-bit UCS-2/Unicode Transformation Format。实际就是现在的UNICODE编码,不能和ASCII兼容。

UTF-32: 英文全称为8-bit UCS-4Unicode Transformation Format。不能和ASCII兼容。

Encoding : 一种编码方案,就是在某些环境下如何表示特定代码元素。如HTTP编码。
Charset :  字符的集合。如:汉字(GB2312)就是一个字符集。

通常字符集和编码是分不开的,比如上面说的汉字,我们用的是GB2312编码,是按着GB2312的标准来对GB2312字符集里面的所有符号进行统一编码,所以,GB2312表明了Charset= GB2312,Encoding=GB2312。既然GB2312不叫UNICODE,所以它就可以认为是MBCS,实际上GB2312是以两个字节来编码的。


Codepage : 实际上是一张表,通常的codepage是一个从Unicode到其他MBCS的转换索引表。比如windows上常用的MS936代码页,实际上就是GB2312到Unicode的转换表,通过这个转换索引表,应用程序可以在Unicode和GB2312之间进行编码转换。有一点要注意不同系统下的同一种编码的编码转换表可能不同,有些有可能是因为没有官方标准,有些可能是系统使用自行定义的表。


Font : 字体,在计算机中每一种字体实际上就是一张字符到字符图像的表。所以使用时要确定系统中安装了相应的字体,否则也会出现显示字符不正确的情况

 

总结一下他们的关系,字符可以是UNICODE或者是MBCS的,UNICODE可以用UTF-8编码,UNICODE和MBCS之间的转换要查相应的Codepage表,字符的显示要通过查询FONT字符图像表显示出来

原创粉丝点击