Je suis nouveau en C# et j'ai construit une application qui reçoit des octets d'un port série et analyse les octets.Convertir un tableau d'octets en chaîne en C#
Dans un scénario, l'application reçoit un tableau d'octets représentant une chaîne. Mon idée est de convertir les octets en chaîne et de visualiser la chaîne dans une zone de texte.
Avec ce code:
textSerialNumber.Text = Encoding.UTF8.GetString(readData.payload, 0, readData.payload.Length);
-je obtenir la chaîne, mais il y a un problème: le premier octet reçu sur le port série est un 0x00 (il représente un ack). Lorsque je convertis la charge utile (ack + string), le premier caractère est une valeur NULL et les affectations de zone de texte échouent.
Si je modifie le code pour commencer à former le premier élément du tableau d'octets:
textSerialNumber.Text = Encoding.UTF8.GetString(readData.payload, 1, readData.payload.Length);
dans ce cas, l'affectation de zone de texte échoue.
J'essaie de sauter l'affectation de zone de texte:
string x = Encoding.UTF8.GetString(readData.payload, 1, readData.payload.Length);
Mais aussi int ce cas, l'encodage échoue.
Une suggestion pour trouver l'erreur?
Merci d'avance.
try 'string base64 = Convert.ToBase64String (readData);' – mmushtaq
Qu'est-ce que cela signifie "il échoue"? – JeffRSon
Échecs signifie que la procédure d'assignation échoue et que le code atteint l'instruction catch. – Federico