【加深记忆】Unicode 是什么

Unicode是一个编码方案,Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode 编码共有三种具体实现,分别为utf-8,utf-16,utf-32,其中utf-8占用一到四个字节,utf-16占用二或四个字节,utf-32占用四个字节。Unicode 码在全球范围的信息交换领域均有广泛的应用。

定义

Unicode码扩展自ASCII字元集。在严格的ASCII中,每个字元用7位元表示,或者电脑上普遍使用的每字元有8位元宽;而Unicode使用全16位元字元集。这使得Unicode能够表示世界上所有的书写语言中可能用於电脑通讯的字元、象形文字和其他符号。Unicode最初打算作为ASCII的补充,可能的话,最终将代替它。考虑到ASCII是电脑中最具支配地位的标准,所以这的确是一个很高的目标。
Unicode影响到了电脑工业的每个部分,但也许会对作业系统和程式设计语言的影响最大。从这方面来看,我们已经上路了。Windows NT从底层支持Unicode。
计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。
因为1位二进制数可以表示(2^1=)2种状态:0、1;而2位二进制数可以表示(2^2)=4种状态:00、01、10、11;依次类推,7位二进制数可以表示(2^7=)128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0~127。所以,7位ASCII码是用七位二进制数进行编码的,可以表示128个字符
第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;

ASCII控制字符

二进制
十进制
十六进制
缩写
可以显示的表示法
名称/意义
0
00
NUL
空字符(Null)
1
01
SOH
标题开始
2
02
STX
本文开始
3
03
ETX
本文结束
4
04
EOT
传输结束
5
05
ENQ
请求
6
06
ACK
确认回应
7
07
BEL
响铃
8
08
BS
退格
9
09
HT
水平定位符号
10
0A
LF
换行键
11
0B
VT
垂直定位符号
12
0C
FF
换页键
13
0D
CR
归位键
14
0E
SO
取消变换(Shift out)
15
0F
SI
启用变换(Shift in)
16
10
DLE
跳出数据通讯
17
11
DC1
设备控制一(XON 启用软件速度控制)
18
12
DC2
设备控制二
19
13
DC3
设备控制三(XOFF 停用软件速度控制)
20
14
DC4
设备控制四
21
15
NAK
确认失败回应
22
16
SYN
同步用暂停
23
17
ETB
区块传输结束
24
18
CAN
取消
25
19
EM
连接介质中断
26
1A
SUB
替换
27
1B
ESC
跳出
28
1C
FS
文件分割符
29
1D
GS
组群分隔符
30
1E
RS
记录分隔符
31
1F
US
单元分隔符
127
7F
DEL
删除
第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。 [3] 
注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。  
增添Unicode码内容:它前128个字符就是ASCII码,之后是扩展码。在Unicode码中,各个字符块基于同样的标准。其中有希腊字母,西里尔文,亚美尼亚文,希伯来文等。而汉文,韩语,日语的象形文字占用从0X3000到0X9FFF的代码。最杰出的地方是,它只有一个字符集,有效的避免了双字节字符集的二义性。缺点是:占用的内存空间比ASCII大1倍。 
Unicode码:Unicode码也是一种国际标准编码,采用二个字节编码,与ASCII码不兼容。在网络、Windows系统和很多大型软件中得到应用。