请定义术语“多字节安全”

时间:2010-12-16 08:15:38

标签: utf-8


我现在有点迷失UTF-8 我正在寻找术语多字节安全的精确定义。

1 个答案:

答案 0 :(得分:4)

当你处理unicode字符时,假设所有字符只占用一个字节或char(java)是不安全的。因此,在阅读或解析字符串时,您需要考虑这一点。

这是一个excellent article,它解释了处理Unicode w.r.t Java时的复杂性。

  
      
  1. 存储的字符可能占用不一致的字节数。一个UTF-8   编码字符可能介于   一个(LATIN_CAPITAL_LETTER_A)和四个   (MATHEMATICAL_FRAKTUR_CAPITAL_G)   字节。可变宽度编码具有   对阅读和阅读的影响   从字节数组解码。

  2.   
  3. 并非所有代码点都可以存储在char中。该   MATHEMATICAL_FRAKTUR_CAPITAL_G示例   在于补充范围   字符并不能存储在16   位。它必须用两个代表   顺序char值,两者都没有   这本身就很有意义。该   Character类提供方法   使用32位代码点。

  4.   
    // Unicode code point to char array
     char[] math_fraktur_cap_g = Character.toChars(0x1D50A);