2008-08-11 7 views
6

Was ist der beste Weg zu verifizieren/zu testen, dass eine Textzeichenfolge zu einem Byte-Array mit einer bestimmten Codierung serialisiert wird?Test Serialisierungscodierung

In meinem Fall möchte ich überprüfen, dass eine XML-Struktur zu einem Byte-Array mit der UTF-8-Codierung serialisiert wird, die variable Zeichenlänge hat. Als Beispiel ist meine derzeitige hässliche Prozedur, ein Zeichen zu injizieren, von dem bekannt ist, dass es vor der Serialisierung zwei Bytes in die Struktur benötigt, dann das Zwei-Byte-Zeichen durch ein ASCII-Zeichen ersetzt und die serialisierten Array-Längen verglichen werden. Dies sollte zwei serialisierte Arrays ergeben, wobei das Array, das die Zwei-Byte-Zeichen enthält, die Länge +1 haben sollte.

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

Antwort

2

Vielleicht könnten Sie das Byte-Array mit einer bekannten Codierung deserialisieren und sicherstellen, dass (a) keine Ausnahmen ausgelöst werden und (b) deserialisiert die ursprüngliche Zeichenfolge. Es scheint, dass Sie von der Beschreibung des Szenarios möglicherweise nicht die ursprüngliche Zeichenfolge verfügbar haben. Könnte es einen Weg geben, es zu schaffen?

0

Das ist gut. Sie haben Recht, ich habe nicht die ursprüngliche Zeichenfolge, da ich ein Modul teste, das ein XML-Dokument als Byte-Array erstellt. Ich dachte nicht an das Deserialisieren zu einem String mit einer erwarteten Codierung. Das wird den Trick machen.

Verwandte Themen