Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top