unicode
为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的
UTF-8使用可变长度字节来储存 Unicode字符,例如ASCII字母继续使用1字节储存,重音文字、希腊字母或西里尔字母等使用2字节来储存,而常用的汉字就要使用3字节。辅助平面字符则使用4字节
RFC 3629(utf-8)
UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5(其实还包括了中日韩的),是指unicode值,至于放在utf-8的编码里去就是由三个字节来组织,所以可以看出unicode是给出一个字符的范围,定义了这个字是码值是多少,至于具体的实现方式可以有多种多样来实现。
1字节 7位 0xxxxxxx
2字节 11位 110xxxxx 10xxxxxx
3字节 16位 1110xxxx 10xxxxxx 10xxxxxx
4字节 21位 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
5字节 26位 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
6字节 31位 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx