UTF-9

UTF-9

Internet-Draft draft-abela-utf9-00 urn:ietf:id:draft-abela-utf9-00 で定義されていましたが、 expire されました。

UTF-8 と似ていますが、 Latin-1 (ISO/IEC8859-1) の範囲の文字 (U+0000-U+007F, U+00A0-U+00FF) はそのままの値で UTF-9 では表現されます。 UTF-8 とは違って、 0xA0-0xFF のオクテットが1文字である可能性がありますから、文字の始まり かどうかは前に戻らないと判断できません。

こうした欠点や既に UTF-8 が普及していたことから、 IETF protocols で使われることにはなりませんでした。

構造

 \R 0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
 C\
 0 <C><C><C><C><C><C><C><C><C><C><C><C><C><C><C><C>
 1 <C><C><C><C><C><C><C><C><C><C><C><C><C><C><C><C>
 2  SP !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /
 3  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?
 4  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
 5  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^ '_
 6  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o
 7  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~ DEL
 8  2_ 2_ 2_ 2_ 2_ 2_ 2_ 2_ 2_ 2_ 2_ 2_ 2_ 2_ 2_ 2_
 9  3_ 3_ 3_ 3_ 4_ 4_ 4_ 4_ 5_ 5_ 5_ 5_ 5_ 5_ 5_ 5_
 A <L><L><L><L><L><L><L><L><L><L><L><L><L><L><L><L>
 B <L><L><L><L><L><L><L><L><L><L><L><L><L><L><L><L>
 C <L><L><L><L><L><L><L><L><L><L><L><L><L><L><L><L>
 D <L><L><L><L><L><L><L><L><L><L><L><L><L><L><L><L>
 E <L><L><L><L><L><L><L><L><L><L><L><L><L><L><L><L>
 F <L><L><L><L><L><L><L><L><L><L><L><L><L><L><L><L>
 * <C>   Control Character (C0)
   <L>   Latin-1 character
    2_   1st octet of 2 octets
    3_   1st octet of 3 octets
    4_   1st octet of 4 octets
    5_   1st octet of 5 octets
 * <L>, 2_, 3_, 4_, 5_ are also 2nd, 3rd, ... octet of
   multi-octets character.
UCS-4 value (hex)UTF-9 octet stream (binary)
0000 0000-0000 007F0xxxxxxx
0000 00A0-0000 00BF101xxxxx
0000 00C0-0000 00FF11xxxxxx
0000 0100-0000 07FF1000xxxX 1xxxxxxx
0000 0800-0000 FFFF100100Xx 1xxxxxxX 1xxxxxxx
0001 0000-007F FFFF100101xx 1xxxxxXx 1xxxxxxX 1xxxxxxx
0080 0000-7FFF FFFF10011xxx 1xxxxXxx 1xxxxxXx 1xxxxxxX 1xxxxxxx
 x -> bit
 X -> MSB in UCS-4 octets

その他

[1] RFC 4042 UTF-9 とは異なります。