Windows编码方式

 

    很多情况下,微软把我搞得头晕晕。

    Unicode是一种字符集,它只规定了符号的二进制表示。但是没有规定这个符号应该怎样存储。就是说,Unicode只是给每一个字符分配一个唯一的编号,至于这个字符在计算机中是以一个字节、两个字节或者更多来存储,这不是Unicode的职责所在。

    ANSI是一种编码,但是它会随着你使用的平台的不同而不同的。比如你使用的是Windows XP的简体中文版,那么这时所谓的ANSI编码就是GB2312;如果你使用的是XP 繁体版,那么ANSI编码就是Big5;而使用英文版的XP,ANSI编码就是ASCII了。

     在Windows中,我们会经常遇到所谓的Unicode编码方式。比如你用记事本编辑文件后选另存为时,就可以看到如下的对话框:

 

 

http://hi.csdn.net/space-804057-do-album-picid-833272.html

 

     

      其实,这里所谓的Unicode编码,是UCS-2编码。Unicode只是字符集!

 

       而UCS-2编码就是以两个字节来表示一个字符,不管是ASCII字符还是汉字。所以,我们经常看到的“等宽字符”,就是指所有的字符都是以同样数目的字节来存储的。但是,两个字符能表示的字符数目还是有限的(但是比ANSI大得多),于是又有了UCS-3、UCS-4。“等宽”的好处就是提高文字的处理速度,但是却浪费了大量的储存空间。

    ANSI是一种非等宽的编码方式。ASCII字符以一个字节表示,非ASCII字符是以两个字节来表示的。这样做有它的好处,就是节省了大量的储存空间。 但是,如果你在中文环境下以ANSI方式保存中文文档,而后在英文环境下把它打开,就会发现全是乱码了。在互联网的普及的今天,这种情况是不可忍受的。

    UTF-8和前面说的UCS-2都是Unicode的实现方式。但是UTF-8是一种变长的编码方式,它可以表示所有的Unicode字符,同时它比采取“等宽”存储的方式节省了大量的空间。

 

 

 

http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

http://tech.idv2.com/2008/02/21/unicode-intro/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值