Domanda

Qual è il modo migliore per verificare/testare che una stringa di testo sia serializzata su un array di byte con una determinata codifica?

Nel mio caso, voglio verificare che una struttura XML sia serializzata su un array di byte con la codifica UTF-8 che ha una lunghezza di caratteri variabile.Ad esempio, la mia attuale brutta procedura consiste nell'inserire un carattere noto per richiedere due byte nella struttura prima della serializzazione, quindi sostituire il carattere a due byte con un carattere ASCII e confrontare le lunghezze dell'array serializzato.Ciò dovrebbe produrre due array serializzati in cui l'array contenente i caratteri a due byte dovrebbe avere lunghezza +1.

Inoltre se la soluzione è elegante per Java.Non riesco a pensare ad alcun modo elegante per cercare una sequenza di byte in un array di byte.(Potrebbe essere utilizzato per cercare una sequenza di byte nota che rappresenta la rappresentazione dei caratteri desiderata in UTF-8.)

È stato utile?

Soluzione

Forse potresti deserializzare l'array di byte utilizzando una codifica nota e assicurarti che (a) non generi eccezioni e (b) deserializza la stringa originale.Sembra che dalla tua descrizione dello scenario potresti non avere la stringa originale prontamente disponibile.Potrebbe esserci un modo per crearlo?

Altri suggerimenti

Va bene.Hai ragione, non ho la stringa originale, poiché sto testando un modulo che crea un documento XML come array di byte.Non ho pensato di deserializzare su una stringa con una codifica prevista.Questo basterà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top