您的位置:首页 > 理论基础

计算机字符编码

2015-07-29 16:35 330 查看
计算机是由建立在物理基础上的由晶体二极管构成,由于一个晶体二极管只能呈现高电位或低电位,所以计算机只能识别高低电位,分别用0和1表示。也可以说计算机只能理解0和1这两个数字,所以我们平时用的文本均是通过一些编码方法(如ASCII,Unicode,utf-8)编码成为0、1序列。(即二进制序列)

<1>ASCII编码方法是用一个字节(即8比特)表示一个字符。所以ASCII表示的最大字符转化为十进制就是255。ASCII是美国人发明的所以ASCII编码中只包含一些字母和一些简单的符号。这点字符当然不够全世界这么多的语言字符和特殊符号使用。

<2>由于ASCII编码的缺陷,各个国家都制定了自己的编码方法(如中国制定了CB2312编码方法,日本制订了shift-JIS编码法),这样一来如果在一个文本中混用多种语言就容易出现乱码问题。

<3>Unicode编码方法一般使用两个字节表示一个字符(有的偏僻的字符会用到4个字节表示一个字符),这样Unicode就解决了ASCII编码无法表示更多字符的缺陷和多种字符编码容易出现的乱码问题。

<4>由于Unicode编码方法是用两个字节表示一个字符,如果文本是英文的那么用Unicode编码就不花算,因为英文只要用ASCII编码就行,用ASCII编码占用的字节数只是Unicode的一半。在这样的情况下UTF-8编码方法也就应运而生了,UTF-8编码方法是将英文字母用一个字节表示,汉字通常为三个字节表示(如果遇到偏僻的字可能会用4~6个字节表示一个字符)。对于含有较多英文字符的文本用UTF-8编码就会较Unicode编码节约空间。同时ASCII也可以看成是UTF-8编码的一部分,只支持ASCII编码的软件也可以在UTF-8编码下正常工作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: