4
如何獲取字符串的總字符數,考慮到它可能具有需要編碼2個代碼單元的補充字符。Java中考慮補充字符的字符串的總字符數(非代碼單元)
實施例:
String strTest = "a"; //Supplementary character
System.out.println(strTest.length());
輸出:
3
正如我們可以看到,如果我們用長度()我們得到3代替2.我想獲得是字符的數目給定的字符串,而不是代碼單元的數量。
你需要一個合適的,也支持Unicode文本處理庫。 「文本」是一個非常平凡的概念,遠遠超出了一系列變量的概念。 –
字符一詞有點含糊。例如,如果它在[NFD形式](http://unicode.org/reports/tr15/#Norm_Forms)中,字形é仍然可以是2個代碼點。 – McDowell
我認爲我們可以理解問題是如何計算java.lang.String的代碼*點*(而不是代碼*單元*)。 – wberry