UnicodeコードポイントとUTF-8の間で変換するための非常に巧妙なコードを見たことがあるので、誰かがこれを持っている(または考案するのを楽しむ)かどうか疑問に思いました。
- UTF-8文字列が与えられた場合、同じ文字列のUTF-16エンコーディングに必要なバイト数。
- UTF-8文字列がすでに検証されていると仮定します。BOMがなく、長すぎるシーケンスや無効なシーケンスがなく、nullで終了します。CESU-8ではありません。
- サロゲートを含む完全なUTF-16をサポートする必要があります。
具体的には、UTF-8シーケンスをコードポイントに完全に変換せずに、サロゲートペアがいつ必要になるかを知るための近道があるのではないかと思います。
私が見た中で最高のUTF-8からコードポイントへのコードはベクトル化手法を使用しているので、ここでもそれが可能かどうか疑問に思います。