我想要/需要一个测试用例来测试/破坏 UTF-32 和 UTF-16 之间的转换。
对于 UTF-8 和 UTF-16,我一般使用 'Chinese Bone' 测试:0xE9 0xAA 0xA8 (UTF8) 和 0x9AA8 (UTF16)。
有没有人有一个负面的测试用例应该破坏 UTF-16 和 UTF-32 的编写不佳的实现?理想情况下,测试将需要使用至少两个 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
0xD800 <= value && value <= 0xDFFF