MySql中varchar类型长度的含义、Java中String长度的含义

MySql中varchar类型长度的含义、Java中String长度的含义,第1张

varchar(5)表示的是字符长度5,不是字节数

𤭢是一个字符占用了四个字节,我们存到数据库中也是最多能存5个𤭢

String length()方法返回的是代码单元数量

上图是String类中length源码,注意红框部分是代码单元的数量,那我们知道String的value其实是一个char[],那我们就可以推出 char = 代码单元

@Test
public void stringLengthTest() {
  //𤭢 \uD852\uDF62
  String str = "𤭢𤭢𤭢𤭢𤭢";
  // 输出10
  System.out.println(str.length());
  // 输出5
  System.out.println(str.codePointCount(0, str.length()));
}

这个例子就能看出因为1𤭢 = 2char,所以length返回的是10。

String类中还有一个codePointAt()这个返回的是代码点数量,也就是我们看到的字符数量

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/871957.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-13
下一篇2022-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存