byte Array in Datei speichern und wieder in byte Array einlesen

riseX

Mitglied
Hallo,

ich habe in der Datenhaltung ein Byte Array. Ich erstelle beim Serialisieren meines Projekts eine XML Datei und muss mir darin den Zustand des byte Arrays speichern. Mit new String(myByteArray[], "utf-8") oder sowas bekomme ich nur Hieroglyphen - das String.getBytes() funktioniert da genauso wenig ... hat jemand eine andere Idee?

Danke schonmal im Voraus.

Lieben Gruß
riseX
 
Hi.
ich habe in der Datenhaltung ein Byte Array. Ich erstelle beim Serialisieren meines Projekts eine XML Datei
Wie und mit welcher Kodierung?
muss mir darin den Zustand des byte Arrays speichern. Mit new String(myByteArray[], "utf-8") oder sowas bekomme ich nur Hieroglyphen - das String.getBytes() funktioniert da genauso wenig ... hat jemand eine andere Idee?
Was steht denn in dem Byte-Array drin? In welcher Kodierung?

Manche Zeichen dürfen in einem XML Dokument nicht verwendet werden. Siehe http://www.w3.org/TR/REC-xml/#charsets

Hinzu kommt das spezielle Zeichen in PCDATA Sektionen kodiert werden müssen (&, <, >).

Gruß
 
Hi,

erstmal danke für die Antwort :)

Du hast schon recht ... ich kann das nicht so ohne weiteres speichern. Das encoding ist iso-8859-1. Ich habs aber nun als Einzeiler quick und dirty gelöst.

Code:
BigInteger biiig = new BigInteger(myByteArray[]);

und

Code:
byte [] myByteArray = biiig.toByteArray();

gibt mir den gleichen Wert wieder zurück ...

Abgespeichert wird das halt nun als riesen Zahl ... aber es funktioniert zumindest erstmal ...

Ist doch OK so, oder?

Gruß
riseX
 
Hm ... das könnte ich mal versuchen ... ich benutze das base64 encoding schon beim XML-RPC Client ...

cool .. .das versuche ich mal ...

... ich melde mich wenn was nicht klappt :)

Danke schonmal für Deine Hilfe

Gruß
riseX
 
Zurück