91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java utf字符串長度如何計算

小樊
86
2024-09-30 04:41:21
欄目: 編程語言

在Java中,要計算UTF字符串的長度,不能直接使用length()方法,因為該方法返回的是字符數,而不是字節數。對于UTF-8編碼的字符串,一個字符可能占用1到4個字節。為了準確計算UTF字符串的字節長度,可以使用以下方法:

public static int utf8Length(String str) {
    int length = 0;
    for (int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        if ((ch & 0xC0) != 0x80) { // 判斷是否為ASCII字符
            length++;
        } else if ((ch & 0xE0) != 0xC0) { // 判斷是否為3字節字符
            length += 2;
        } else if ((ch & 0xF0) != 0xE0) { // 判斷是否為4字節字符
            length += 3;
        } else { // 判斷是否為5字節字符(實際上UTF-8中不存在5字節字符)
            length += 4;
        }
    }
    return length;
}

這個方法會遍歷字符串中的每個字符,檢查其前幾位以確定它是一個單字節字符、雙字節字符、三字節字符還是四字節字符。然后,根據字符的字節數累加長度計數器。最后,返回累加后的長度。

0
菏泽市| 阿拉善盟| 青铜峡市| 通化市| 阿坝县| 温宿县| 仁怀市| 茌平县| 寿阳县| 精河县| 民权县| 枣强县| 崇仁县| 柏乡县| 余江县| 青铜峡市| 渝北区| 阜新市| 乐陵市| 兴宁市| 定兴县| 江阴市| 全州县| 九寨沟县| 石渠县| 广安市| 高台县| 白朗县| 彝良县| 广宁县| 威海市| 上虞市| 蛟河市| 客服| 邵东县| 嘉兴市| 台东市| 福海县| 鄢陵县| 长岭县| 江源县|