非最小形式の不正なエンコーディングに注意 UTF-8 は文字によって1文字あたりのバイト数が1バイトから4バイト(もしくは6バイト)と可変長なエンコーディングです。Unicode の各文字がどのようなバイト列で表現されるかは、下表のようになっています。 Unicode 文字範囲UTF-8 でのバイト列(2進数) U+0000〜U+007F 0xxxxxxx U+0080〜U+07FF 110xxxxx 10xxxxxx U+0800〜U+FFFF 1110xxxx 10xxxxxx 10xxxxxx U+10000〜U+10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx この表から明らかなように、ASCII の文字範囲(U+0000〜U+007F)までは、本来なら1バイトで表現され、ASCII と互換のはずです。 ところが、意図的に必要以上のバイト数で文字