Immer byte-Wert für zahlen zwischen 0 und 255?
Ich brauche, um die byte /8 bit-Darstellung für zahlen zwischen 0 und 255. Gibt es eine komfortable Möglichkeit, um dies in Java? Scheint, wie die meisten Methoden bestimmt sind, werden als 4 byte lange Ganzzahlen? Mein Ziel ist es, zu schreiben, mehrere 8-bit-Werte in eine Datei.
Vielen Dank für jeden Tipp dazu!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Abzuschließen Alex ' Antwort:
Was ist falsch mit
byte
geben? Wenn du nur Daten speichern und nicht rechnen und brauchen nicht dezimale Darstellung aus anderen Gründen, dann sollte es egal sein, dass es signiert ist.Vorsichtig sein mit byte. Es ist unterzeichnet, z.B. von -128 bis 127. Wenn Sie möchten, 0-255, wenn Sie gehen, um es auszudrucken, benötigen Sie immer
&255
(wie JB Nizet hat in seinem Beispiel)C#:
Java:
Wenn Sie wünschen, erhalten Sie 0~255 (unsigned byte) Wert in java:
Beispiel: byte b = (byte) 200;
Beispiel: int b = 200 & 0xFF;
Wenn du gehst, es zu Lesen in einem
int
nur Maske mit& 0xff
. Ich schlage vor, eine Schicht der Dereferenzierung zwischen(In|Out)putStream
. Abdeckung details wie endian.In das Objekt schreiben:
In der lese-Objekt:
Java-byte ist unterzeichnet von -128 bis 127, wenn u wollen, um die Darstellung von 0 bis 255 ich benutze diese 2 Funktionen