Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

1 Zum Seitenanfang

Mittwoch, 9. September 2009, 12:56

Java Typeumwandlung von byte[] zu int

ich habe 3 Bytes ( byte[2] ). Dieser Byte-Array soll in einen int umgewandelt werden.

kann ich den ByteArray durch eine implizite Umwandlung einfach zu int konvertieren?

Java-Quelltext

1
2
3
4
5
int len;
byte[] bLen = new byte[2];
...

len = (int) bLen;
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

2 Zum Seitenanfang

Mittwoch, 9. September 2009, 13:07

also direkt ist mir da nichts bekannt.
da brauchst du wohl eine funktion die du zwischenschaltest.

jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

3 Zum Seitenanfang

Mittwoch, 9. September 2009, 13:14

ja, hab sie auch gefunden:

Quelle http://www.tutorials.de/forum/java/22812…byte-array.html :

Zitat

Java-Quelltext

1
2
3
4
5
6
7
public int convertByteArrayToInt(byte[] bytebuf ) {
 		
  ByteBuffer buffer= ByteBuffer.allocate(4);
  buffer.put(bytebuf );
 			
  return buffer.getInt(0); 
}
bin mir jetzt aber nicht ganz sicher, ob er hier meinen 3 Byte großen Bytearray richig umsetzt, da er ja wahrscheinlich von 4 mitgegebenen Bytes ausgeht.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ospx« (9. September 2009, 13:14)

 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

4 Zum Seitenanfang

Mittwoch, 9. September 2009, 13:40

das kann dir helfen:
http://www.petefreitag.com/item/183.cfm

jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

5 Zum Seitenanfang

Mittwoch, 9. September 2009, 14:27

njaein... kommt meinem Problem nahe. Ich muß vom Einer- ins Zweierkomplement konvertieren. Allerdings habe ich es nicht direkt mit c/cpp-Werten zu tun.
Ich glaube, meine Lösung müßte etwa so aussehen:

Java-Quelltext

1
2
3
int length = (this.buf[0] & 0xff) +
            	((this.buf[1] & 0xff) << 8) +
            	((this.buf[2] & 0xff) << 16);
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

6 Zum Seitenanfang

Mittwoch, 9. September 2009, 14:41

ach ok du hast 3 byte. ich dachte du hättest nur 2.
byte[2] heißt doch es gibt nur 2 elemente.

für 3 sollte die lösung passen.
du machst wohl was mit rgb werten oder?

jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

7 Zum Seitenanfang

Mittwoch, 9. September 2009, 15:27

EDIT

Zitat

byte[2] heißt doch es gibt nur 2 elemente
:?: Es wird doch bei Index 0 angefangen zu zählen --> also 3 Elemente ( byte[0], byte[1], byte[2])



Nein, ich versuche immernoch eine halbwegs gängige Lösung zu finden, um die Daten des internen MYSQL- Protokolls (hier via java) bearbeiten zu können. Diese Pakete will ich bearbeiten(wrappen). Und um das ganze einpacken zu können, brauche ich jeweils die Länge eines Paketes, welche in den ersten 3 Bytes des package headers kodiert ist.

Das Ding wird wahrscheinlich nie so richtig fertig oder dauert noch Jahre :whistling: ...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ospx« (9. September 2009, 15:27)

 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

8 Zum Seitenanfang

Mittwoch, 9. September 2009, 16:06

bin ich jetzt ganz blöd?
wenn du ein new byte[2] machst, dann hast du meiner meinung nach ein byte array mit 2 elementen.

der index bei einer arrayerzeugung gibt imho immer die größe an.

jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »jperl« (9. September 2009, 16:06)

 

ospx

Kaiser

Dabei seit: 11.11.2006

Beiträge: 1 131

 

9 Zum Seitenanfang

Donnerstag, 10. September 2009, 11:52

Hast natürlich recht. :whistling:
 

Ähnliche Themen