Тестовая кодировка сериализации - PullRequest
6 голосов
/ 11 августа 2008

Каков наилучший способ проверить / проверить, что текстовая строка сериализуется в байтовый массив с определенной кодировкой?

В моем случае я хочу убедиться, что структура XML сериализована в байтовый массив с кодировкой UTF-8 переменной длины символов. В качестве примера, моя текущая уродливая процедура заключается в том, чтобы вставить символ, которому, как известно, требуется два байта, в структуру перед сериализацией, затем заменить двухбайтовый символ символом ASCII и сравнить длины сериализованного массива. Это должно привести к двум сериализованным массивам, где массив, содержащий двухбайтовые символы, должен иметь длину + 1.

Плюс, если решение элегантно для Java. Я не могу придумать ни одного элегантного способа поиска последовательности байтов в массиве байтов. (Может использоваться для поиска известной последовательности байтов, представляющей желаемое символьное представление в UTF-8.)

Ответы [ 2 ]

2 голосов
/ 11 августа 2008

Возможно, вы могли бы десериализовать байтовый массив, используя известную кодировку, и убедиться, что (а) он не выбрасывает никаких исключений и (б) десериализацию в исходную строку. Кажется, что из вашего описания сценария, вы можете не иметь оригинальной строки с готовностью доступны. Может ли быть способ создать его?

0 голосов
/ 11 августа 2008

Это хорошо. Вы правы, у меня нет исходной строки, так как я тестирую модуль, который создает XML-документ в виде байтового массива. Я не думал о десериализации строки с ожидаемой кодировкой. Это сделает свое дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...