Hallo Forum,
ich habe ein Gerät das mir über die RS232 Schnittstelle fortlaufend einen String mit einem 16-bit Hex-Wert sendet. Der String hat das Format: "&HFFFF". Also zuerst immer &H mit anschließender Information. Aus diesem String würde ich gerne einen anderen String erzeugen der die Informationen Binär Codiert enthält. Das Resultat aus obigem Beispiel würde also dann: "1111111111111111" sein. Ich habe also aus dem Stirng die ersten zwei Zeichen entfernt um den reinen Wert zu bekommen. Nun hapert es also daran den String "FFFF" in "1111111111111111" umzuwnadlen...
Vielleicht habt ihr eine Idee? 🤔
Viele Grüße!
Hallo Viper2000,
1.HexString->short: Convert.ToInt16 Method (String, Int32)
1.short->BinärString: Convert.ToString Method (Int16, Int32)
1.BinärString mit Nullen auffüllen und so auf 16 Stellen bringen: String.PadLeft-Methode (Int32, Char)
beste Grüße
zommi
Einwandfrei! Danke.
Hier auch nochmal der genaue code falls es jemanden interessiert:
string value = "&HAFAF"; //Debug only
string temp1 = value.Remove(0, 2); //Remove the leading "&H" from string
short temp2 = Convert.ToInt16(temp1, 16); //Convert the 16-bit hex-value to short
string temp3 = Convert.ToString(temp2, 2); //Convert the short value to binary string
string result = temp3.PadLeft(16, '0'); //Fill with zeros