美文网首页
Java中的字符编码的转换

Java中的字符编码的转换

作者: 我一直都在_d55e | 来源:发表于2017-09-20 22:10 被阅读0次

    • Java语言使用UTF-16这种字符集编码。

    • Unicode编码字符集的代码点(code point)范围在U+0000 到 U+10FFFF间。总数是2^20(增补字符) + 2^16 (BMP)

    代码点 名称
    U+0000 - U+FFFF Basic Multilingual Plane (BMP) ,基本多语言平面
    U+10000 - 10FFFF supplementary characters,增补字符
    • 在java(UTF-16)中,增补字符表示为一对char值,第一个值取自高代理项范围,即 (\uD800-\uDBFF),大小3FF,第二个值取自低代理项范围,即 (\uDC00-\uDFFF),大小3FF。增补字符数量为 210 * 210,即 220
    • 所以一个char值表示Basic Multilingual Plane (BMP) 代码点,其中还包括代理项代码点。恰好可以用两个字节表示。所以在java中char类型可以表示BMP字符集。
    • 所以int值表示所有 Unicode 码点,包括增补码点。int的 21 个低位(最低有效位)用于表示 Unicode 代码点,并且 11 个高位(最高有效位)必须为零。

    相关文章

      网友评论

          本文标题:Java中的字符编码的转换

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