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字符串中到底有多少個字符? | 鳥窩


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM