Problem bei der Portierung aus C(++) - Datentypen-hickhack
-
Hallo ich habe versucht ein programm(empfängt daten via UDP) aus C++ nach java zu portieren, dabei bin ich auf folgendes problem gestoßen:
der udp-socket empfängt bytes,
der absender sendet konvertierte WORDs(2byte - unsigned int)
bei er rückkonvertierung unter java (in char[2 byte - unsigned])
bekomme ich den fehler das es nicht möglich sei.
gibt es unter jave soetwas wie "binäre verkettung"?
quasi: byte + byte = char
unter C++ ist die konvertierung kein thema da die receive-funktion einen void-pointer anfordertzu ansicht, ein teil des C++ quellcodes:
[cpp]
WORD* pBuffer =new WORD[256];recieved=g_MySocket.Receive(pBuffer,256);
switch (pBuffer[2])
{
case 0x0008: //WORD - 2byte die ich abfragen muss
///...
[/cpp]Hoffe ihr könnt mir weiterhelfen - verzweifle langsam aber sicher
Danke
-
byte b1; byte b2; char c; c = b1; c << 8; c += b2;
Ich weiss aber nicht, ob das bei char Ärger gibt, weil es AFAIK unsigned ist. Einfach mal ausprobieren.