计算机字符编码
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编码下正常工作。
<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编码下正常工作。
相关文章推荐
- 数据结构一:企业级顺序存储底层库封装
- (转载)计算机的二进制起源
- 黑马程序员——高新技术---Java基础-网络编程
- 网络流最大流除草计划
- Http协议中的各种长度限制总结
- Eclipse 导入web项目后 报 The type javax.servlet.http.HttpServletRequest cannot be resolved.
- 【Android基础】AsyncTask示例——加载网络图片
- 【算法与数据结构】二叉查找树算法实现
- http常见错误
- CentOS网络简单配置
- [数据结构]二叉树之二叉链表的类模板实现
- 深入理解Hadoop集群和网络
- HttpClient
- opencv中keypoint数据结构分析
- NSURLCache、网络监测状态
- TCP状态详解-状态机
- TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
- 1.如何ping别人的计算机名来获取IP?
- IOS 在http请求中使用cookie
- Http协议详解