String
のサイズのテストを作成しています。これはmyString.getBytes("UTF-8").length > MAX_SIZE
のようなものを使用していますが、javaにはチェック例外UnsupportedEncodingException
があります。文字列がUTF-8で表現できない
ちょうど好奇心のために、さらに他の可能なテストシナリオを検討して、UTF-8文字エンコーディングで表現できない文字はありますか?
ところで:私は私の宿題をしましたが、どこにも(私は見つけることができるということは)実際にUTF-8/Unicodeが可能であり、すべての文字が含まれていることを指定します。私はそのサイズが2^32であることを知っていて、それらの多くはまだ空ですが、質問は残っています。
文字列がすでに何か他のものを使用してエンコードされている場合はどうなりますか? –
UTF-8は他のエンコーディング*を取り囲むことができるはずです(このリテラルは使用しないでください)。 – Ordiel
UTF-8はUnicodeコードセット全体をエンコードする1つの方法です。 UTF-16は別のものです。すべての既知のUnicodeコードポイントは、UTF-8とUTF-16でエンコードできます。 UTF-8には最大4バイト、UTF-16は最大2つの16ビット値が必要です。ただし、有効なUTF-8またはUTF-16コードポイントは4バイトの組み合わせであるとは限りません。 –