UTF-32とUTF-16の間の変換をテスト/解除するためのテストケースが必要です。
UTF-8およびUTF-16の場合、私は通常、「中国の骨」テストを使用します:0xE9 0xAA 0xA8(UTF8)および0x9AA8(UTF16)。
UTF-16およびUTF-32の不十分に記述された実装を破るはずの否定的なテストケースを持っている人はいますか?理想的には、テストでは少なくとも2つのUTF-32値を使用する必要があります。
ジェフ
あなたが何を意味するのかわからない、ここにいくつかあります:
UTF-16
\xD8\x00\x00\x00
または\xD8\x00\xDB\xFF
\x00\x61\xDC\00
\xDF\xFF\xDB\xFF
\xD8\x01<EOF>
'\xD8\x00\xDC'.decode('utf-16be')
UTF-32
value < 0
、value > 0x10FFFF
またはの場合、単位値はtrueを返します0xD800 <= value && value <= 0xDFFF