关于什么是编码,我在之前的文章简单介绍过了,这里我们来看一下Unicode码和ASCII码
Unicode码
Unicode码:Unicode码是一种国际标准编码,采用二个字节编码,与ASCII码不兼容。Unicode 为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
我们使用Unicode必须要清楚它的概念,它只是提供一个编码处理方案来给我们使用,它用两个字节来表示一个字符。
Unicode码二进制转换
Unicode码 | 二进制 |
4E25 | 0100 1110 0010 0101 |
4CC5 | 0100 1100 1100 0101 |
BAAF | 1011 1010 1010 1111 |
AABB | 1010 1010 1011 1011 |
增添Unicode码内容:它前128个字符就是ASCII码,之后是扩展码。在Unicode码中,各个字符块基于同样的标准。而汉文,韩语,日语的象形文字占用从0X3000到0X9FFF的代码。最杰出的地方是,它只有一个字符集,有效的避免了双字节字符集的二义性。缺点是:占用的内存空间比ASCII大1倍。
ASCII码
Unicode是双字节编码,ASCII码单字节编码,所以ASCII码是八位Byte;Unicode支持全世界的语言,ASCII码只支持拉丁文和一些西欧国家语言。
注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),Unicode是双字节编码, 其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
ASCII码进制转换
ASCII码 | 二进制 | 八进制 | 十六进制 |
a | 0110 0001 | 97 | 61 |
A | 0100 0001 | 65 | 41 |
0 | 0011 0000 | 48 | 30 |
! | 0010 0001 | 33 | 21 |
+ | 0010 1011 | 43 | 2B |
我们需要注意,ASCII码区分大小写,可以在表中看出来
具体的可以查看ASCII码对照表