21xrx.com
2025-03-22 02:50:03 Saturday
文章检索 我的文章 写文章
Java计算字符串字节长度
2023-06-15 11:03:08 深夜i     --     --
Java 字符串 字节长度

我经常需要在Java中计算字符串的字节长度,有时候需要限制用户输入的字符串长度,有时候需要将字符串转换为字节数组发送到服务器端。这里我分享一下如何计算字符串字节长度的方法。

代码如下:

public static int getBytesLength(String str) {
  if(str == null)
    return 0;
  
  int length = 0;
  for(char c : str.toCharArray()) {
    length += getByteLength(c);
  }
  return length;
}
public static int getByteLength(char c) {
  if(c < 0x80)
    return 1;
   else if(c < 0x800)
    return 2;
   else if(c < 0x10000)
    return 3;
   else
    return 4;
  
}

这里用到了一个简单的方法来计算单个字符的字节长度,根据UTF-8编码规则来计算。如果字符的Unicode码小于0x80,那么它只有一个字节;如果小于0x800,那么它有两个字节;如果小于0x10000,那么它有三个字节;否则,它就有四个字节。

通过遍历字符串中的每个字符,并利用getByteLength方法计算每个字符的字节长度,我们可以得到字符串的总字节长度。

以上是我计算字符串字节长度的方法,可以在Java中方便地使用。希望对大家有所帮助。

  
  

评论区