设为首页 加入收藏

TOP

Java里String的length方法
2014-11-24 12:21:32 来源: 作者: 【 】 浏览:0
Tags:Java String length 方法

首先说一下char类型:
char类型用来表示单个字符。要想弄清楚char类型,就必须了解Unicode编码表。
在设计Java时决定采用16位的Unicode字符集。能表示65536个字符。
十分遗憾,经过一段时间,不可避免的事情发生了。Unicode字符超过了65536个。
(主要原因是增加了大量的汉语、日语、韩语这样的表意文字),也就是16位的char类型已经不能满足所有的Unicode字符的需要了。


代码点(code point):是指与一个编码表中的某个字符对应的代码值。
在Unicode标准中,代码点采用十六进制书写,并加上前缀U+,例如U+0041就是字母A的代码点。


Unicode的代码点可以分成17个代码级别(code plane).
第一个代码级别成为 基本的多语言级别(basic multilingual plane),代码点从U+0000大U+FFFF,其中包含了经典的Unicode代码。
其余的16个附加级别代码点从U+10000到U+10FFFF,其中包括了一些辅助字符(supplementary character)。


UTF-16编码采用不同长度的编码表示所有Unicode代码点。在基本的多语言级别中,每个字符用16位表示,通常被称为代码单元(code unit)。而辅助字符采用一对连续的代码单元进行编码。


Java中得代码点与代码单元:


Java字符串由char序列组成。字符数据类型是一个采用UTF-16编码表示Unicode代码点的代码单元。
大多数的常用Unicode字符使用一个代码单元就可以表示,而辅助字符需要一对代码单元表示。


length方法将返回采用UTF-16编码表示的给定字符串所需要的代码单元数量。
String greeting = "Hello";
int n = greeting.length(); //is 5
要想得到实际的长度,即代码点数量,可以调用:
int cpCount = greeting.codePointCount(0, greeting.length());


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android FrameWork 启动流程 下一篇Android ListView 只显示一行文字

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·数据库:推荐几款 Re (2025-12-25 12:17:11)
·如何最简单、通俗地 (2025-12-25 12:17:09)
·什么是Redis?为什么 (2025-12-25 12:17:06)
·对于一个想入坑Linux (2025-12-25 11:49:07)
·Linux 怎么读? (2025-12-25 11:49:04)