2013-03-24 1 views
-2

Я хочу/нуждаюсь в тестовом примере для тестирования/разрыва конверсий между UTF-32 и UTF-16.Испытательный образец UTF16/32 (требуется отрицательный тестовый пример)

Для UTF-8 и UTF-16 я обычно использую тест «Китайская кость»: 0xE9 0xAA 0xA8 (UTF8) и 0x9AA8 (UTF16).

Есть ли у кого отрицательный тестовый пример, который должен сломать плохо написанную реализацию для UTF-16 и UTF-32? В идеальном случае для испытания потребуется использовать по меньшей мере два значения UTF-32.

Джефф

+0

Что вы подразумеваете под «отрицательным тестом «? – duskwuff

+0

Что-то, что предназначено для проверки отказа, а не успеха. – jww

+0

Неудача чего? –

ответ

1

Не уверен, что вы имеете в виду, вот некоторые из них:

UTF-16

  • Lead суррогата с регулярным блоком или другими ведущими суррогатом следующей \xD8\x00\x00\x00 или \xD8\x00\xDB\xFF
  • Trail суррогата без свинцового суррогата до этого \x00\x61\xDC\00
  • Тройной суррогат в Лие д позиция \xDF\xFF\xDB\xFF
  • Свинец суррогатного, как последний блок \xD8\x01<EOF>
  • Свинец суррогатного, как последний блок, а затем половина следа суррогат. Эта ошибка существует в Python 2.7.3: '\xD8\x00\xDC'.decode('utf-16be')

UTF-32

  • Единица возвращает верно для value < 0, value > 0x10FFFF или 0xD800 <= value && value <= 0xDFFF
+0

Спасибо Esailija. «Не уверен, что вы имеете в виду» - большинство людей получают кодировку простого «а» правильно. Я пытаюсь разработать тестовые примеры, чтобы разбить библиотеки, которые могут получить простое «a» правильно. – jww

 Смежные вопросы

  • Нет связанных вопросов^_^