String in Byte[] und zurück

Matze82

Mitglied
Hallo,

habe ein Problem mit der Konvertierung.
Und zwar habe ich ein Byte[] welches ein Dokument darstellt.
Dieses verpacke ich über einen String und sende es über einen WebService.
Auf der anderen Seite möchte ich natürlich aus dem String wieder ein Byte[] machen.
Nur wie
 
Das funktioniert eben nicht....
zum verständnis:
Code:
		DataHandler dh1 = new DataHandler(new FileDataSource("C:/TestFile.pdf"));		
		ByteArrayOutputStream buffOS1= new ByteArrayOutputStream();
		dh1.writeTo(buffOS1);
		byte[] buff1 = buffOS1.toByteArray();
		buffOS1.close();
		
		StringBuffer buffer1 = new StringBuffer();
		for(int i = 0; i<buff1.length; i++){
			Byte mybyte = new Byte(buff1[i]);			
			buffer1.append(mybyte.byteValue()); 
		}

Somit schreibe ich mein ByteArray als String, sende das an den Webservice und auf der Seite möchte ich wieder ein ByteArray haben (das selbe wie ich reingegeben habe).
Wenn ich aber vom String getBytes mache, bekomme ich doch was anderes zurück...
 
Du solltest bei getBytes auch den Charset als Parameter mitgeben, ansonsten wird der Charset des Betriebssystems genommen, was je nachdem zum Problem werden kann...gerade wenn es zwischen Windows und Linux ist. Beim String Konstruktor natürlich noch zusätzlich zu den bytes auch den Charset mit angeben.

näheres siehe String Api
 
Zuletzt bearbeitet:
wenn mir jemand verrät wie, dann würde ich das gerne machen, denn bisher hat es nie funktioniert.
Ich möchte mehrere Dokumente sende, habe als Datentypen ein Array HexBinary und ein Array Base64Binary probiert oder wie muss ich das anstellen?
 
Ok, nach ewigem hin und her basteln läuft es nun,bin ja fast verzweifelt.
Nehme ein Array von HexBinary Werten, diese werden dann in eine DB vom WebService gesteckt. Alles t jetzt so wie ich es wollte.
Wer mehr Informationen will, muss nochmal schreiben...

Trotzdem danke für die Mühen
 
Zurück