2008-08-11 14 views
6

¿Cuál es la mejor manera de verificar/probar que una cadena de texto se serializa en una matriz de bytes con una cierta codificación?Codificación de serialización de prueba

En mi caso, quiero verificar que una estructura XML se serializa en una matriz de bytes con la codificación UTF-8, que es de longitud variable de carácter. Como ejemplo, mi feo procedimiento actual consiste en inyectar un carácter que requiera dos bytes en la estructura antes de serializarlo, luego reemplazar el carácter de dos bytes con un carácter ASCII y comparar las longitudes de matriz serializadas. Esto debería generar dos matrices serializadas donde la matriz que contiene los caracteres de dos bytes debe tener una longitud de +1.

Plus si la solución es elegante para Java. No se me ocurre ninguna forma elegante de buscar una secuencia de bytes en una matriz de bytes. (Podría usarse para buscar una secuencia de bytes conocida que represente la representación de caracteres deseada en UTF-8.)

Respuesta

2

Quizás podría deserializar la matriz de bytes utilizando una codificación conocida y asegurarse de que (a) no arroje ninguna excepción y (b) se deserializa a la cadena original. Parece que a partir de su descripción del escenario, es posible que no tenga la cadena original disponible. ¿Podría haber una manera de crearlo?

0

Eso es bueno. Tiene razón, no tengo la cadena original, ya que estoy probando un módulo que crea un documento XML como una matriz de bytes. No pensé en deserializar a una Cadena con una codificación esperada. Eso hará el truco.

Cuestiones relacionadas