Ich verwende die folgendeWie kann ich eine Hex-Daten von der seriellen Schnittstelle erhalten und in einem Textfeld in C# anzeigen?
byte[] hex=new byte[1000];
string RecievedData = myport.ReadExisting();
if (!(RecievedData == ""))
{
hex = Encoding.GetEncoding(28591).GetBytes(RecievedData);
string hexString = BitConverter.ToString(hex);
txtbox.text+=hexString;
}
aber Problem ist, dass dieser Code alle Bytes umwandelt, die keinen Charakter Wert 0x3F haben.
Ist es WPF, Winforms oder Asp.net? –
Es ist Winforms. –
0x3F == '?'. Wenn Sie ReadExisting() für Binärdaten verwenden, haben Bytewerte> = 0x80 kein entsprechendes ASCII-Zeichen und erzeugen ein Fragezeichen. Sie müssen Binärdaten mit der Read() -Methode lesen. –