计算机要准确的处理各类字符集文字,就须要进行字符编码,以便计算机可以识别和存储各类文字。网络
常见的。编码
1 byte = 8bit
因此 1个字节可表示256种符号
。128
个字符,包括大小写字母、数字、标点符号和美式英语中使用的特殊控制字符。二进制 | 十进制 | 十六进制 | 字符 | 解释 |
---|---|---|---|---|
0011 0001 | 49 | 0x31 | 1 | 字符1 |
0100 0001 | 65 | 0x41 | A | 大写字母A |
0110 0001 | 97 | 0x61 | a | 小写字母a |
问题
:不够用~问题
:同一个编码值,在不一样的编码体系里表明着不一样的字。0x0000
至 0x10FFFF
,共1114112
个,分为17
组,每组称为平面(plane)
,每平面拥有65536(2的16次方)
个码位。U+0000~U+FFFF
:基本多文种平面
( BMP:Basic Multilingual Plane, 简称“零号平面”, plane 0)2个字节
表示(例如U+4AE0,共支持六万多个字符)辅助平面
,以代理对(surrogate pair)
的形式,用4个字节
的值来储存。问题
:编码效率不高,好比UCS-4(Unicode的标准之一)规定用4个字节存储一个符号,那么每一个英文字母前都必然有三个字节是0,这对存储和传输来讲都很耗资源。UTF: Unicode Transfer Format,即把Unicode转作某种格式的意思.net
分类 | 位数 | 长度 | 编码规则 | 其余 |
---|---|---|---|---|
UTF-8 | 8位序列编码,即以字节为单位 | 变长编码 | 按照不一样范围,能够有1-4字节的不一样长度 | 保留了ASCII字符的编码作为它的一部分,XML及其子集HTML采用UTF-8做为标准字集 |
UTF-16 | 16位序列编码 | 长度相对固定 | 0x10000之内的字符,使用2字节表示,超出部分使用4字节表示 | |
UTF-32 | 32位序列编码 | 长度始终固定 | 使用4字节表示 |