|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
最早再设计计算机的时候才用8个比特(bit)作为一个字节(byte),所以一个字节所能表示的最长长度是(1111 1111)就是十进制的255,2个字节最大表示65535. 计算机是由美国人发明出来的所以最开始的字符编码只有26个英文字母和一些特殊字符,这就是我们常说的ASCII码。'a'的ASCII是65,‘Z'的ASCII是122。 那么问题来了我们天朝的汉字是怎么编码的呢?如果使用ASCII显然不合适,一个汉字至少需要2个字节编码而且还不能和ASCII表冲突。所以中国制定了GB2312编码,用来把中文编进去。但是世界上这么多国家这么多语言这需要多少不同的编码呢?
Unicode码在此应运而生,Unicode把所有语言都统一到一套编码中,这样就不会发生乱码的事情。Unicode码一般采用2个字节的编码方式,有些生僻的或者特殊字符可能采用4字节编码。
现在说一说ASCII码和Unicode码的区别:
ASCII编码是一个字节,Unicode编码通常是2个字节。
字母'A'的ASCII是65 二进制是01000001,如果把字母'A'用Unicode编码那就是 00000000 01000001
那么新的问题来了如果对全英文采用Unicode码存储,那么就会比用ASCII存储浪费一倍的存储空间。这样在存储和传输上 太不划算。
为了避免这情况的发生采用了新的一种编码方式 UTF-8 一种可变长编码。 UTF-8把Unicode码根据字符的长度分为1-6个字节。常用的英文字母通常被编为一个字节,汉字一般是3个字节,而一些生僻的字符可能会是4-6个字节。如果你要传输的文本包含大量英文字符,那么用UTF-8就能大大的降低存储和传输空间。
|
|