代码点举例

例如下面代码:
//摘自《java核心技术》
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代码点进行编码。

转载于:https://www.cnblogs.com/binbinjava/archive/2011/03/15/1984610.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值