您的位置:首页 > 编程语言 > Java开发

关于Java核心技术书中的代码点和代码单元是怎么理解的呢?

2010-01-01 14:46 567 查看
最近在看这本书发现这些不太明白请高人指教!

String greeting = "Hello";

int n = greeting.length();//5

int cpCount =greeting.codePointCount(0,greeting.length());

char first =greeting.char(0);//H

char last = greeting.char(4)//o

int index =greeting.offsetbyCodePoints(0,i);

int cp = greeting.codePointAt(index);

这些应该是从Unicode标准而来的术语,Unicode标准的核心是一个编码字符集,它为每一个字符分配一个唯一数字。Unicode标准始终使用16进制数字,并且在书写时在前面加上U+,如字符“A”的编码为“U+0041”。

代码点是指可用于编码字符集的数字。编码字符集定义一个有效的代码点范围,但是并不一定将字符分配给所有这些代码点。有效的Unicode代码点范围是U+0000至U+10FFFF。Unicode4.0将字符分配给一百多万个代码点中的96382个代码点。

代码单元可以理解为字符编码的一个基本单元,最常用的代码单元是字节(即8位),但是16位和32位整数也可以用于内部处理。

就Unicode标准来说,它的编码字符集有三种编码方案:UTF-32、UTF-16、UTF-8。UTF-32使用32位的代码单元表示一个
Unicode代码点,UTF-16使用一个或两个16位的代码单元的序列对Unicode代码点进行编码,UTF-8
使用1至4个字节的序列对Unicode代码点进行编码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: