#?SuikaWiki/0.9 page-icon="字β" [2] ''[CODE(charset)[UTF-8]] の [[BOM]] は必須ではありません''。 詳しくは [[BOM]>>9] を参照して下さい。 BOM 必須説は、そういうことにしたい人達が勝手に流した風説です。 - [3] [[Unicode]] 3.0 以降では S-area の符号位置 (の UTF-8 表現) は禁止されています。他方、 [CODE[U+FFFF]] のような non-character (の UTF-8 表現) は禁止されていません。 non character は情報交換を目的としたものではありませんから情報交換用で紛れ込んでいたなら間違いですが、内部処理に使うことが出来るものですから、 [[UTF]] で禁止したら使う意味が無くなるということらしいです。 [[#comment]] *Java の UTF [1] [[Java]] が実装している UTF-8 の変種は、 U+0000 を表現するために 0xC0 0x80 を (0x00 の代わりに) 使います。 (0x00 は Java では文字列の終端を表し、文字列内には入れられません。) - [4] このような、「長さが最小ではない表現」は、 UTF-8 では禁止されています。[WEAK[もっとも、各規格は当初そのことを忘れていました。設計者は最初からそのことに注意していたらしいですが、気が抜けていたとかなんとか。]] - [5] 実際には巷の UTF-8 の decoder は最短じゃない表現を「意図どおりに」解読してしまうことがありますが、それは禁止されています。 [[#comment]] *メモ