Pregunta

¿Cuál es la mejor manera de verificar/probar que una cadena de texto esté serializada en una matriz de bytes con una codificación determinada?

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

Además 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).

¿Fue útil?

Solución

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

Otros consejos

Eso es bueno.Tienes 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 funcionará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top