Frage

Was ist der beste Weg, um zu überprüfen/testen, ob eine Textzeichenfolge mit einer bestimmten Codierung in ein Byte-Array serialisiert wird?

In meinem Fall möchte ich überprüfen, ob eine XML-Struktur in ein Byte-Array mit der UTF-8-Kodierung serialisiert wird, die eine variable Zeichenlänge hat.Beispielsweise besteht meine aktuelle hässliche Vorgehensweise darin, ein Zeichen, von dem bekannt ist, dass es zwei Bytes benötigt, vor der Serialisierung in die Struktur einzufügen, dann das Zwei-Byte-Zeichen durch ein ASCII-Zeichen zu ersetzen und die Längen des serialisierten Arrays zu vergleichen.Dies sollte zwei serialisierte Arrays ergeben, wobei das Array mit den Zwei-Byte-Zeichen die Länge +1 haben sollte.

Plus, wenn die Lösung für Java elegant ist.Ich kann mir keine elegante Möglichkeit vorstellen, in einem Byte-Array nach einer Byte-Sequenz zu suchen.(Kann verwendet werden, um nach einer bekannten Bytesequenz zu suchen, die die gewünschte Zeichendarstellung in UTF-8 darstellt.)

War es hilfreich?

Lösung

Möglicherweise könnten Sie das Byte-Array mithilfe einer bekannten Codierung deserialisieren und sicherstellen, dass (a) keine Ausnahmen ausgelöst werden und (b) die ursprüngliche Zeichenfolge deserialisiert wird.Aus Ihrer Beschreibung des Szenarios geht hervor, dass Sie möglicherweise nicht über die Originalzeichenfolge verfügen.Gibt es vielleicht eine Möglichkeit, es zu erstellen?

Andere Tipps

Das ist gut.Sie haben Recht, ich habe nicht die Originalzeichenfolge, da ich ein Modul teste, das ein XML-Dokument als Byte-Array erstellt.Ich habe nicht daran gedacht, in einen String mit der erwarteten Codierung zu deserialisieren.Das wird den Zweck erfüllen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top