diff --git a/src/org/redkale/util/Utility.java b/src/org/redkale/util/Utility.java index 549a9477e..405cbe9de 100644 --- a/src/org/redkale/util/Utility.java +++ b/src/org/redkale/util/Utility.java @@ -1924,7 +1924,15 @@ public final class Utility { final int limit = start + len; for (int i = start; i < limit; i++) { c = chars[i]; - size += (c < 0x80 ? 1 : (c < 0x800 ? 2 : 3)); + if (c < 0x80) { + size++; + } else if (c < 0x800) { + size += 2; + } else if (Character.isSurrogate(c)) { + size += 2; + } else { + size += 3; + } } return size; }