Java字符串中有多少个字符多少个char字节

Posted 夕雨714

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java字符串中有多少个字符多少个char字节相关的知识,希望对你有一定的参考价值。

Java 中Char是两个字节,Char在Java中也被称为代码单元(Code Unit)
Java中的字符代码点(Code Unit)一 一对应,而可能对应一个或者两个 代码单元

字符串的length()方法,能获取代码单元的长度,或者说char的个数
也就是说,length()方法的返回值可能大于实际字符个数

class Main {
    public static void main(String[] args) {
        String he = "?1曦??";	// 这里,这个emoji表情需要两个char
        System.out.println("代码单元:"+he.length());
        // 输出比实际的字符长度 长
        // 如果乘以2,就可以得到实际的字节大小
        System.out.println("码点:"+he.codePointCount(0, he.length()));
        // 可以看到,这样才能得到字符串的实际字符个数
        System.out.println(he.charAt(0));
        System.out.println(he.charAt(1));
        System.out.println(he.charAt(2));
        
        System.out.println(he.charAt(3));
        System.out.println(he.charAt(4));
        // 这两个char都只是一个码点的一部分,所以无法正常显示
        System.out.println("----------------------");
    }
}

输出:

代码单元:5
码点:4
?
1
曦
?
?
----------------------

参考

一个Java字符串中到底有多少个字符? | 鸟窝

以上是关于Java字符串中有多少个字符多少个char字节的主要内容,如果未能解决你的问题,请参考以下文章

使用 C++ 字符串数组中有多少个字符?

Java 中,数字,汉字,英文字母,...占多少字节

char和varchar的区别

一个汉字占几个字符?

一个Java字符串中到底有多少个字符?

你说,一个Java字符串到底有多少个字符?