一、ASCII码
由于计算机内部所有信息,都是以0 1这种二进制的形式进行处理。因此必须将字符映射为二进制形式,计算机才能进行处理。
ASCII码:一共规定128个字符编码,用八位二进制位来表示128个字符。比如空32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。
二、非ASCII码
英语只用128种二进制就可以表示。但是汉字数量众多,128个字符无法满足需求。因此采用两个字节表示一个汉字的GB2312编码。
三、Unicode
Unicode是一个符号集,规定了所有符号的二进制代码。
四、UTF8
UTF8是Unicode的一种实现方式,解决了Unicode多个字节是表示多个符号还是一个符号的问题。
[参考资料]
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html