Java中的string实际长度详解(代码点和代码单元)
来源:互联网 发布:淘宝客服是什么意思 编辑:程序博客网 时间:2024/06/07 14:52
关于代码点和代码单元的介绍在前面的char类型介绍已经做过详细的介绍,现在专门讨论Java中和String有关的代码点和代码单元;Java中的字符串有char序列组成,在前面讲过,char数据类型是一个采用UTF-16编码表示的Unicode代码点的代码单元。我们常用的大多数Unicode字符使用一个代码单元就可以表示,辅助的字符需要两个代码单元表示。
length返回给定的UTF-16编码给定的字符串所需要的代码单元的数量。如下:
String str = "Hello";int strLength = str.length();这里得到的是代码单元的数量,要想得到实际的长度,也就是代码点的长度,使用如下代码:
int cpCount = str.codePointCount(0, str.length());使用codePointCount()方法可以得到实际的长度,为什么会这样了?因为基本的多语言级别由16个字符组成,也就是一个字符,但是辅助的字符,需要两个代码点,所以使用length等不到辅助字符的实际长度。
那么,要想得到第n位置的代码点,我们需要怎么做了,如下:
int index = str.offsetByCodePoints(0, 3);int cp = str.codePointAt(index);
阅读全文
0 0
- Java中的string实际长度详解(代码点和代码单元)
- Java中的代码点和代码单元
- Java中的代码点和代码单元
- Java中的代码点和代码单元
- Java中的代码点和代码单元
- Java中的代码点和代码单元
- Java中的代码点和代码单元
- Java中的代码点和代码单元
- Java中的代码点和代码单元
- java中的代码点和代码单元
- Java中的代码点与代码单元
- Java中的代码点与代码单元
- Java代码点和代码单元
- JAVA 代码点和代码单元
- java 代码点和代码单元
- java 代码点 代码单元
- 代码点和代码单元
- 代码单元和代码点
- 父视图的UITapGestureRecognizer和子视图UICollectionView的cell点击冲突解决办法
- C/C++:各种基本算法实现小结(六)—— 查找算法
- _DllMain@12 already defined in MSVCRTD.lib
- 汇编基础程序
- Shiro(二) 登录认证源码详解
- Java中的string实际长度详解(代码点和代码单元)
- 爬虫xpath
- JQueryAJAX上传文件
- Tensorflow之Session
- USB 3G上网卡讲解之二
- xx = [example[x] for example in xxx]功能解析
- webform弹窗子页面简单实例
- 在Kubernetes的3个node上部署redis cluster
- 爬虫正则