美文网首页
关于String长度的一些总结

关于String长度的一些总结

作者: justlinzhihe | 来源:发表于2021-11-18 17:07 被阅读0次

    1.正常情况,String内部使用char数组来存储字符串,无论字母还是中文,都按一个char也就是两个字节计算

    image.png
    2.但是如果有一些抽象的字符,就会用两个char来表示
    image.png
    3.究其原因,java的char是用utf-16变长编码设计的,所谓变长就是说能用两个字节表示的字符就用一个char,要不然就用两个char。这里还有一个内码和外码的概念。如下:
    image.png
    由1可知,a, 这两个字符在java中都是占一个char也就是两个字节,这个就是所谓的内码。
    但是转成utf-8编码,就变成了1个字节和三个字节,utf-8就是外码

    4.关于unicode和codepoint的概念,简单的说,unicode就是一个char(两个字节),而codepoint是一个字符(1个char或者2个char)

    image.png

    相关文章

      网友评论

          本文标题:关于String长度的一些总结

          本文链接:https://www.haomeiwen.com/subject/oqtjtrtx.html