unsigned byte Problem

Status
Nicht offen für weitere Antworten.

Big_Daddi

Mitglied
Halli Hallo,

ich habe auch ein unsigned Byte Problem, jedoch konnte ich bis jetzt noch nichts passendes finden.

Ich bekomme via UDP einen String mit unsigned Bytewerten. Jetzt hab ich das Problem dass eben negative Zahlen dabei raus kommen und vorallem mehr bytes verarbeitet werden als gesendet werden.

Wireshark sagt folgendes:
Java:
Data (17 bytes): 68 0a 0a 68 0a 71 01 90 a5 13 .....

Mein Javaprogramm hat folgenden Code:
Java:
...
byte [] bytearray = receivedstring.getBytes(); //receivedstring=String mit den Empfangenen Daten
Sytem.out.println(bytearray.length);  
...
ByteArray.length = 23 ??????????????????
Die Einzelnen Bytes in int:
104 10 10 104 10 113 1 -17 -65 -67 -17 19 ...

Mein gedanke war, dass ich als Datentyp short nehme, aber woher weiß das programm, dass jetzt plötzlich 2 bytes genutzt werden zu einem shortwert gehören?????

Gruß
 
S

SlaterB

Gast
warum sollte das Programm das wissen müssen,
du bist doch der Programmierer, wenn du zwei bytes zusammenfassen willst, dann tue das

bisher scheint mir das aber nicht nötig,
die Byte-Serien entsprechen einander,
die 90 oben ist Hexedizal = 9*16 = 144, da Java-bytes signed sind gehts nur bis 127, ergo wird die 144 als -17 dargestellt = 127-144,
wenn es nicht genau passt dann +-1 usw, genau anschauen und die Formel finden,

das einzige, das dann noch überrascht, ist die Länge der Bytes, 17 zu 23,
von dir auch mit einigen Fragezeichen gewürdigt, sogar in rot,
allerdings hast du nicht beide Serien in voller Länge gepostet, so dass man dazu gar nix sagen kann,
vielleicht sind die letzten 6 bytes 0?
 

Big_Daddi

Mitglied
ja das ist mir schon klar aber schau mal den String genauer an:

90 = -17 -65
a5 = -67 -17
13 = 19

Das ist mein Problem, wie ich das realisieren kann, bzw. wie der auf diese Zahlen von 90 u. a5 kommt. Das -17 versteh ich auch noch aber warum macht java dann daraus 2 bytes???
 
S

SlaterB

Gast
hast recht, diese Unregelmäßigkeit fiel mir nicht auf,
da kann ich dann erstmal nicht weiterhelfen,

allgemeiner Notfall-Tipp wäre: alle Zahlen von 0-255 schicken lassen und genau anschauen wie jeder einzelne Wert interpretiert wird,
vielleicht ist dann ein System zu erkennen, ansonsten byte für byte einzeln mappen,

aber hoffe es findet sich noch ne angenehmere Erklärung ;)

und eine Richtung habe ich dann doch noch:
wie ist überhaupt der Weg von UDP bis in den String? warum werden die Bytes als Java-String-Unicode-Zeichen interpretiert?
wenn du nur bytes an sich einliest, dann entfallen evtl. Encoding-Umwandlungen
 
M

maki

Gast
IMHO kommt der Fehler daher dass du vesuchst die Bytes in einem String zu speichern.
Java verwendet intern UTF-8, da werden manchmal mehr als ein Byte pro Character verwendet.
 

Big_Daddi

Mitglied
Stimmt eigentlich, in meiner UDP-Funktion speicher ich .getData() in einen String! Aber wenn ich des dort nicht in eine String variable sondern in eine Short Variable speicher müsste es doch gehen oder??
Wenn ja, dumme frage, aber wie lös ich des dann??

Jetzt hab ich es so:
Java:
String datareceive = new String(data.getData(),0,data.getLength);
 
S

SlaterB

Gast
das ist getData()? doch wohl ein byte-Array,
dieses kannst du in einer byte[]-Variablen speichern, was bezweckst du mit dem String?
 

Big_Daddi

Mitglied
Das mit dem String war einfach nur so von anfang an als ich des ganze noch getestet habe. also nicht fix.

Aber wenn ich jetzt das ganze nicht als String sonden in ein byte-Array speichere bin ich doch genau so weit wie vorher!?!?! wenn dann müsste ich ich es in ein short-Array speichern, wenn das geht?
 
S

SlaterB

Gast
ob es was bringt, ist erst zu klären,
bisher hast du
byte[]-Sender (Länge 17) -> byte[] Empänger (Länge ?) -> String -> byte[] aus String, Länge 23

die Aussage der letzten Posts ist nun, dass der String durch seine Eigenarten für die komischen Bytes sorgen kann,
das ? in der Kette könnte 17 sein,
also: kein String und nochmal alles testen, gehts nun?
 

Big_Daddi

Mitglied
Jepp daran lags. -> byte[] Empfänger (Länge 17) ->
jetzt klappt es. ich speicher des ganze jetzt gleich in ein bytearray und nicht in einen String!

DANKESCHÖN!!
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V unsigned byte? Java Basics - Anfänger-Themen 27
T Datentypen unsigned byte? Java Basics - Anfänger-Themen 9
M unsigned byte Java Basics - Anfänger-Themen 4
G String to unsigned byte Java Basics - Anfänger-Themen 12
D Umrechnung dezimal -> oktal | signed/unsigned? Java Basics - Anfänger-Themen 1
M unsigned int Java Basics - Anfänger-Themen 3
S Variablen "c" unsigned int zu Java Java Basics - Anfänger-Themen 2
J unsave signed&unsigned Java Basics - Anfänger-Themen 6
L Integer nach Unsigned Integer Java Basics - Anfänger-Themen 2
M Binärdateien auslesen (unsigned!) Java Basics - Anfänger-Themen 5
H unsigned variablen Java Basics - Anfänger-Themen 2
N unsigned int to long Java Basics - Anfänger-Themen 5
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
T IOStreams read(byte[]b) methode Java Basics - Anfänger-Themen 2
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
G ImageIcon in Byte-Array ablegen Java Basics - Anfänger-Themen 7
D Best Practice Parameter int vs byte Java Basics - Anfänger-Themen 16
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
F byte, short oder doch int? Java Basics - Anfänger-Themen 6
S Performance von byte[], short[], int[]..? Java Basics - Anfänger-Themen 24
D Methoden int to byte array und zurück? Java Basics - Anfänger-Themen 5
P int zu byte Java Basics - Anfänger-Themen 8
F Byte Array wachsen lassen Java Basics - Anfänger-Themen 5
M Java Klasse Byte Java Basics - Anfänger-Themen 10
F Byte Ausgabe plötzlich falsch Java Basics - Anfänger-Themen 0
V String in Byte umwandeln Java Basics - Anfänger-Themen 11
O Input/Output Ein (negatives) Byte über PrintWriter hinausschreiben Java Basics - Anfänger-Themen 3
T byte[] zu String mit Sonderzeichen Java Basics - Anfänger-Themen 2
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
J byte - Ausgabe Java Basics - Anfänger-Themen 2
F Teil eines Byte Array an eine Methode übergeben Java Basics - Anfänger-Themen 5
S byte to float Java Basics - Anfänger-Themen 4
J Byte Folge erkennen Java Basics - Anfänger-Themen 5
M sehr großes Byte Array Java Basics - Anfänger-Themen 3
M Byte Array und Co. Java Basics - Anfänger-Themen 12
T Operatoren Float in byte umwandeln Java Basics - Anfänger-Themen 3
Y File to byte[] and byte[] to sysout Java Basics - Anfänger-Themen 3
P Wann Byte-Stream und wann Character-Stream? Java Basics - Anfänger-Themen 11
F Hexfolge in Byte Array ersetzen Java Basics - Anfänger-Themen 8
P String in byte konvertieren, wie? Java Basics - Anfänger-Themen 4
T Erste Schritte Byte Java Basics - Anfänger-Themen 3
R byte[] zu String und Ausgabe Java Basics - Anfänger-Themen 2
H Variablen short <-> byte[] Java Basics - Anfänger-Themen 15
X Datentypen String in byte[] Java Basics - Anfänger-Themen 29
H Variablen 32bit Zählwert als Byte-Array Java Basics - Anfänger-Themen 9
H Variablen string nach byte Java Basics - Anfänger-Themen 12
B Frage zur Effizienz von read und read(byte[]) Java Basics - Anfänger-Themen 23
R Erste Schritte Rechnenoperationen mit byte, short und char Java Basics - Anfänger-Themen 8
V Datentypen Frage zum Datentyp Byte Java Basics - Anfänger-Themen 11
L Byte[] to String, doch bits sind gespiegelt (MSB/LSB) Java Basics - Anfänger-Themen 3
S Von byte[] nach String zurueck nach byte[]. Arrays sind nicht identisch :( Java Basics - Anfänger-Themen 6
S ArrayList<Byte> in String umwandeln Java Basics - Anfänger-Themen 5
M byte Array Mindestlänge Java Basics - Anfänger-Themen 19
U short[] nach byte[] Java Basics - Anfänger-Themen 11
D [jni] jbytearray <-> byte array Java Basics - Anfänger-Themen 8
S Datentypen Ändern eines byte[] Arrays Java Basics - Anfänger-Themen 4
B byte-weise Verschlüsselung Java Basics - Anfänger-Themen 6
P byte Array aus ImageIcon Java Basics - Anfänger-Themen 10
S Input/Output String in byte umwandeln? Java Basics - Anfänger-Themen 5
F von Byte zu 2 Stellig Hex Java Basics - Anfänger-Themen 3
G byte[] (Base64) korrekt übergeben Java Basics - Anfänger-Themen 4
V Jar-Datei von Byte-Array oder Stream laden? Java Basics - Anfänger-Themen 9
O 64bit- OS byte, short, int oder long bzw. float oder double? Java Basics - Anfänger-Themen 13
G Binär in Byte speichern Java Basics - Anfänger-Themen 7
T Datentypen byte -Division..mal gehts mit cast mal ohne Java Basics - Anfänger-Themen 5
T Datentypen default ist int, cast zu byte nötig... Java Basics - Anfänger-Themen 2
F Byte nach Zahl umwandeln Java Basics - Anfänger-Themen 11
E Datentypen type cast problem (int, byte,) Java Basics - Anfänger-Themen 5
G Integar zu Byte Java Basics - Anfänger-Themen 4
P Byte mit 0...255? Java Basics - Anfänger-Themen 5
N Datentypen Fehler beim Umwandeln in byte Java Basics - Anfänger-Themen 3
L Umwandlung int <--> byte Java Basics - Anfänger-Themen 2
L Datentypen 250 und byte? Java Basics - Anfänger-Themen 4
L Datentypen byte[] in String und wieder zurück Java Basics - Anfänger-Themen 3
H Datentypen Byte-Array RSA Java Basics - Anfänger-Themen 9
H Datentypen Rechnen mit signed Byte-Array - unsinged byte Java Basics - Anfänger-Themen 3
N Files mit Byte an Socket versenden Java Basics - Anfänger-Themen 2
V Byte -> String -> Byte verlustfrei Java Basics - Anfänger-Themen 12
Hindi93 Byte to Int Java Basics - Anfänger-Themen 4
H Datentypen byte[] to int Java Basics - Anfänger-Themen 9
S hex zu byte Java Basics - Anfänger-Themen 4
M Byte Array: Werte größer 127? Java Basics - Anfänger-Themen 11
S Addition zweier 32 Byte langer ByteArrays Java Basics - Anfänger-Themen 5
H 1 Byte Status Variable Java Basics - Anfänger-Themen 3
P Datentypen Byte und char Typecast Java Basics - Anfänger-Themen 2
M Bit/Byte Operationen Java Java Basics - Anfänger-Themen 8
W Datentypen int -> byte Java Basics - Anfänger-Themen 2
H Datentypen Byte-Array aus Stream lesen Java Basics - Anfänger-Themen 3
F Typenumwandlung byte <=> int verstehen Java Basics - Anfänger-Themen 3
S Byte eines arrays Java Basics - Anfänger-Themen 17
N Frage zu Datentyp byte Java Basics - Anfänger-Themen 14
S 2 Byte Arrays addieren Java Basics - Anfänger-Themen 45
S Unbekannte Daten einlesen, speichern und in einem byte Array speichern Java Basics - Anfänger-Themen 3
S Alle Datentypen in byte Array und zurückwandeln Java Basics - Anfänger-Themen 2
H Frage zu Byte-Streams Java Basics - Anfänger-Themen 2
Z Wie Byte[] in einen String oder int konvertieren Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben