2017-05-08 2 views
-3

Ceci est le message Im envoi loin et je reçois la mauvaise réponse quand je le reçois. Alors, comment puis-je obtenir le retour Encoding.ASCII.GetBytes (réponse); comme une chaîne quand je l'envoie?Comment puis-je convertir Encoding.ASCII.GetBytes à la chaîne

Je pense que c'est quelque chose qui ne va pas avec la traduction ASCII?

public byte[] diagnostic() 
{ 
    string response = Send(new byte[] { 0x30 }); 
    return Encoding.ASCII.GetBytes(response); // To string? 
} 
+0

Puisque vous dites que l'erreur provient de l'endroit où vous la recevez, vous devez nous montrer ce code. Il semble que cela provienne de la méthode Send. Et puisque cette fonction renvoie une chaîne, s'il y a une erreur, elle se trouve dans la méthode Send (basée sur le code que vous avez fourni). Etes-vous sûr que vous recevez des ascii? Essayez de donner un exemple de ce que vous obtenez et de ce que vous attendiez et peut-être que ce sera plus clair. – MrApnea

+0

bien Lenny32 l'a résolu – Andy

+0

Pourquoi voudriez-vous convertir en octets puis de nouveau? Il suffit de retourner le 'string' – FakeCaleb

Répondre

0
string response = "Hello world!"; 
var o = Encoding.ASCII.GetBytes(response); // To string? 
var s = Encoding.ASCII.GetString(o); 

Est-ce répondre à votre question?

+0

Oui merci pour l'aide – Andy

+0

@Andy si quelqu'un a répondu à votre question, vous devez cliquer sur la coche et marquer la réponse acceptée. –