Input/Output Ein (negatives) Byte über PrintWriter hinausschreiben

ortauq

Aktives Mitglied
Ich habe ein Problem mit einem "negativen" Bytes, welche ich über einen PrintWriter hinausschreiben will.

Mein Java-Byte hat den Wert:
-124dez, oder 0x84, oder +132dez.

Ich habe versucht das Byte über die Methoden write() und print() hinauszuschreiben.

Ich habe das ganze mit WireShark überprüft.
Ich schreibe immer 0x3F hinaus. Aber warum?

printWriter.write((byte) 0x84);

printWriter.write(myToChar(0x84));

printWriter.print((byte) 0x0084);

All das schickt in wirklichkeit 0x3F.
Wie kommt das?

Und wie schicke ich mein 0x84?
Darf ich keinen Printwriter verwenden?
Was ist hier los? xP
 
Lass den PrintWriter weg und es sollte funktionieren!

Hier ein kleines Beispiel:

Java:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
baos.write(0x84);
System.out.println(new ByteArrayInputStream(baos.toByteArray()).read());

P.S. auch ein [c]baos.write(132);[/c] würde funktionieren.
 
Zuletzt bearbeitet:
Lass den PrintWriter weg und es sollte funktionieren!

Hier ein kleines Beispiel:

Java:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
baos.write(0x84);
System.out.println(new ByteArrayInputStream(baos.toByteArray()).read());

P.S. auch ein [c]baos.write(132);[/c] würde funktionieren.

Funktioniert dies auch in Kombination mit einer TCP/IP-Übertragung?
 

Zurück
Oben