关于什么是编码,我在之前的文章简单介绍过了,这里我们来看一下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码对照表