Eine Bank mit Daten füllen. Unicode umwandeln in Int

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

funkheld

Betreff: Eine Bank mit Daten füllen. Unicode umwandeln in Int

BeitragSa, Aug 13, 2016 11:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, guten Tag.
Ich empfange 5 Byte mit dem Programm alle 300 ms.
Die ersten 2 Byte sind ein Unicode der dann in eine Zahl Int gewandelt werden muss.
Wie werden bitte die ersten 2 Byte in einen Unicode gewandelt?

Dank.
Gruss


Code: [AUSKLAPPEN]

global wert:int

print loadstring("http::192.168.2.102/?pin=sharp")  ' Sensor einschalten
delay 500

for wert=0 to 70
  print len(loadstring("http::192.168.2.102/?pin=leer")) ' Datenlänge wird ausgewertet
  delay 300
next

Holzchopf

Meisterpacker

BeitragSo, Aug 14, 2016 23:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt viele Wege, um ein Int aus mehreren Bytes zusammen zu setzen. Der eleganteste ist meiner Meinung nach der mit Bitshift und logischen Verknüpfungen:

BlitzMax: [AUSKLAPPEN]
' Shl 8 schiebt die Bits nach links um 8, so
' wird aus
' 00000000 00000000 00000000 aaaaaaaa
' 00000000 00000000 aaaaaaaa 00000000
' Das zweite, unverschobene Byte kann einfach
' oder verknüpft werden, da die entsprechenden
' Bits ohnehin 0 sind und somit den Wert von b
' annehmen. Also:
' 00000000 00000000 aaaaaaaa 00000000
' | 00000000 00000000 00000000 bbbbbbbb
' = 00000000 00000000 aaaaaaaa bbbbbbbb
intwert = (byte1 Shl 8) | byte2


Ob dieser Wert dann ein Unicode-Zeichen darstellt, eine Koordinate oder eine Farbe hängt dann nur noch von deiner Interpretation ab. Aber grundsätzlich ist das der Weg, um Bytes zu Ints zusammen zu setzen. Je nach Endianness musst du womöglich byte1 und byte2 vertauschen.

mfG
Holzchopf

PS: Für 2-Byte-Ints ist hier der Ausdruck Short geläufiger
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

funkheld

BeitragMo, Aug 15, 2016 0:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja danke.

Ist eine gute Sache mit dem Shiften.

Danke.
Gruss

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group