Bootstrap

代码单元与代码点

代码点(Code Point)就是指Unicode中为字符分配的编号,一个字符只占一个代码点
如字符A的代码点为U+0041
代码单元(Code Unit)则是针对编码方法而言,它指的是编码方法中对一个字符编码以后所占的最小存储单元
如UTF-8中,代码单元是一个字节,因为一个字符可以被编码为1个,2个或者3个4个字节
区别在于一个字符,仅仅对应一个代码点,但却可能有多个代码单元
应用
当你想以一种统一的方式指定自己使用什么字符的时候,使用代码点总是比使用代码单元更好
在Java中,字符串不是Unicode字符或者代码点的序列,而是代码单元。
Java中的代码单元指表示编码表字符的最小存储单元,用16位表示
这里写图片描述
附录
Unicode的标准是用来解决字符编码问题,在Unicode之前有很多不兼容的字符编码方式,如英语中7比特ASCII标准,用代表所有的英文字符,小数和符号,在西欧ASCII被拓展成8比特。于是Unicode设计唯一的16比特值,但是遇到中文还是不够用,现在Unicode需要21比特。还有变长的向后兼容的UTF-16.
UTF-8是一种针对Unicode的可变长度字符编码.

;