Bruce.です。
davi writes:
> | Implementations of the decoding algorithm above MUST protect against
> |decoding invalid sequences. For instance, a naive implementation may
> |decode the overlong UTF-8 sequence C0 80 into the character U+0000,
> |or the surrogate pair ED A1 8C ED BE B4 into U+233B4.
>
> 「6バイトで送っても復号できるようにしなければならない…」
> ということは、間違ったデータの作り方なのね。
でびさんそれちょっとちがう。
MUST なのは protect であって、decodeできるかどうかじゃないです。
セキュリティ上の理由等で冗長な表現は弾く必要がある場合もありますし。
> でも、そういうデータも復号できなきゃダメっていうのは、
> 実装者にはキツそうですね。
いや、この場合は naive な実装で復号できちゃいますよ。
問題なのはそれを弾かなきゃいけないということ。
いじょ。