代码之家  ›  专栏  ›  技术社区  ›  leeeroy

Java 16位字符如何支持Unicode?

  •  7
  • leeeroy  · 技术社区  · 16 年前

    JavasChar是16位的,但是Unicode有更多的字符——Java是如何处理的?

    3 回复  |  直到 16 年前
        1
  •  10
  •   McDowell rahul gupta    16 年前

    Java字符串是UTF-16(big-endian),因此Unicode代码点可以是一个或两个字符。在此编码下,Java可以表示代码点U+1D50A( 数学FRAKTUR CAPITAL G 0xD835 0xDD0A (字符串文字 "\uD835\uDD0A" ). 这个 Character 类提供与代码点之间的转换方法。

    // Unicode code point to char array
    char[] math_fraktur_cap_g = Character.toChars(0x1D50A);
    
        2
  •  13
  •   Amber    16 年前

    http://en.wikipedia.org/wiki/UTF-16

    在计算技术中,UTF-16(16位 UCS/Unicode转换格式)是 可变长度字符编码 对于Unicode,能够对 整个Unicode指令集。这个 编码表单将每个字符映射到 16位字的序列。人物 16位字被称为代码单元。 对于Basic中的字符 编码是单个16位字。对于 其他平面中的字符 编码将产生一对 16位字,一起称为a 从U+0000到U+10FFFF的积分, 字符),通过 UTF-16,不考虑代码点的 或使用。

        3
  •  3
  •   el.pescado - нет войне    16 年前

    Java使用UTF-16表示字符串-基本上意味着字符的宽度是可变的。它们中的大多数适合16位,但基本多语言窗格之外的占32位。它与UTF-8方案非常相似。