文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>1 字符集

1 字符集

时间:2009-07-03  来源:vpxiroot

1字符集

所有的字符集都放在/usr/share/i18n/charmaps,所有的字符集也都是用Unicode编号索引的。

1.1 GB2312

字集是简体字集,全称为GB2312(80)字集,共包括国标简体汉字6763个。

1.2 BIG5

字集是台湾繁体字集,共包括国标繁体汉字13053个。

1.3 GBK

字集是简繁字集,包括了GB字集、BIG5字集和一些符号,共包括21003个字符。

1.4 GB18030

是国家制定的一个强制性大字集标准,全称为GB18030-2000,它的推出使汉字集有了一个“大一统”的标准。

1.5 ASCII

American Standard Code for Information Interchange,美国信息交换标准码。 目前计算机中用得最广泛的字符集及其编码,由美国国家标准局(ANSI)制定。 它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。 ASCII字符集由控制字符和图形字符组成。 在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。 所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。 奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1。 偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。

1.6 UTF

Unicode 的实现方式不同于编码方式。 一个字符的Unicode编码是确定的,但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。 Unicode的实现方式称为Unicode转换格式(Unicode Translation Format,简称为 UTF)。

UTF-8

8bit变长编码,对于大多数常用字符集(ASCII中0~127字符)它只使用单字节,而对其它常用字符(特别是朝鲜和汉语会意文字),它使用3字节。

UTF-16

16bit编码,是变长码,大致相当于20位编码,值在0到0x10FFFF之间,基本上就是unicode编码的实现,与CPU字序有关。

注意:

ASCII  char (2)  ;UTF-8 宽字符  wchar  4倍 。兼容性最好的编码就是UTF-8! 毕竟GBK/GB2312是国内的标准,当我们大量使用国外的开源软件时,UTF-8才是编码界最通用的语言。

 

问题:

我怎样安装新的编码文件到系统?

1.7 codepage

   其实可以理解为软降厂商自己定义的字符集。所以叫做“本地字符集”,这些字符集本身就不符合国际化标准。

   以下是IBM的定义的自己的字符集。而微软使用了其中的几个这样的字符集,因此要访问windows的文件系统,就必须要要指定这些字符集的编号,比如cp950.但是现在的NTFS已经支持了UNICODE,因此下面的就不起作用了。

·  37 (英文) *

·  290 (日文) *

·  833 (韩文) *

·  836 (简体中文) *

·  891 (韩文)

·  897 (日文)

·  903 (简体中文)

·  904 (繁体中文)

·  300 (日文) *

·  301 (日文)

·  834 (韩文) *

·  835 (繁体中文) *

·  837 (简体中文) *

·  926 (韩文)

·  927 (繁体中文)

·  928 (简体中文)

·  930 (日文) (Codepage 300 加 290) *

·  932 (日文) (Codepage 301 加 897)

·  933 (韩文) (Codepage 834 加 833) *

·  934 (韩文) (Codepage 926 加 891)

·  938 (繁体中文) (Codepage 927 加 904)

·  936 (简体中文) (Codepage 928 加 903)

·  5031 (简体中文) (Codepage 837 加 836) *

·  5033 (繁体中文) (Codepage 835 加 37) *

 

不管系统采用什么编码,主要是分成2类。

1类是文件名本身采用的编码方式,这是由文件系统来决定。

fat12、fat16的文件系统如果是简体中文的话,说的是文件名采用的是cp936的编码方式来存储的。

Fat32的文件系统如果是简体中文的话,那么对于短文件名(好像长度小于8个字符吧?)才用的就是cp936编码方式来存储的, 那么对于长文件名(好像长度大于8个字符吧?)才用的就是uncode编码方式来存储的。

ntfs的文件系统不管是什么语言,文件名都是采用的uncode编码方式来存储的。

 

1类是文件内容本身采用的编码方式,这是由创建这个文件的软件来决定。

比如notepad.exe可以创建简体语言格式的文件。也可以创建繁体的语言格式的文件。

 

因此我认为文件系统使用的编码方式,其实指只是文件名存储使用的编码方式。而和文件内容采用的编码方式没有任何关系。在linux出现显示乱码的时候,一定要分清楚是显示文件名引起的乱码,还是在查看文件内容引起的乱码,这样才能正确解决问题。

相关阅读 更多 +
排行榜 更多 +
油罐车运输模拟

油罐车运输模拟

赛车竞速 下载
模拟逃兵

模拟逃兵

赛车竞速 下载
项目赛车

项目赛车

赛车竞速 下载