简单的说,为什么需要编码? 比如,我们的计算机中需要表示字母'a','b'等等字母,然而这些字母如何在计算机内存中表示?众所周知,在计算机内存中数据是以二进制来表示的,这样,我们就需要将这些需要表示的字母和数字或者符号转换成能在计算机中表示的二进制表示,这就是编码的意义所在。
将字符编码成内存中的二进制表示,首先需要对字符集进行编码表示,每个编码代表一个固定的字符。然后再将这个字符的编码转换成内存中的二进制表示。
计算机常用字符的编码主要分为两种:ASCII码和Unicode码。
1. ASCII 码
ASCII(American Standard Code for Information Interchange) 美国信息互换标准代码,是基于拉丁字母的一套电脑编码系统。ASCII是标准的单字节字符编码方案,用于基于文本的数据,使用7位或者8位的二进制组合起来表示128或者256中可能的字符。
ASCII码最大的缺点就是只能表示美国英语中常用的字符数字和符号,不能表示其他语言中的字符符号等,比如中文中的汉字。
2. Unicode 码
Unicode码是能够容纳世界上所有的文字和符号的编码方案,成为统一码,满足跨语言跨平台的需求,Unicode码是基于通用字符集(Universal Character Set)的标准发展起来的。Unicode码能够容纳所有的字符符号等,所以被使用的更加广泛,ASCII几乎不怎么用了。
以上两种编码方式说明了如何将常用的字符进行编码,并赋予每个字符一个code point(a number)来表示,这个是固定的。方便以后的应用。比如汉字"字"对应的Unicode编码为23383.
在这两种编码表示的基础上,就可以将编码表示成内存中可以使用的二进制方式了 |