2014-08-31 4 views
0

Je crée un programme de commande simple, et en essayant de créer un répertoire, j'obtiens l'erreur qu'il y a des caractères non valides dans le chemin, je suppose que le NetworkStream a ajouté des caractères invisibles ?C# supprimer les caractères invisibles de NetworkStream

code:

Console.WriteLine(">> Recieved: " + Encoding.ASCII.GetString(data, 0, data.Length)); 
byte[] back = null; 
if (Encoding.ASCII.GetString(data, 0, data.Length).Contains("cd ")) 
{ 
    try 
    { 
     back = Encoding.UTF8.GetBytes(">> Created Directory"); 
     stream.Write(back, 0, back.Length); 
     string dir = Encoding.ASCII.GetString(data, 0, data.Length).Replace("cd ", ""); 
     Directory.CreateDirectory(dir); 
    } 
    catch (Exception ex) 
    { 
     Console.WriteLine(ex.ToString()); 
    } 

} 

erreur EXACT: System.Argument Exception, Caractères illégaux à Chemin

+0

pourquoi ne pas utiliser inspecter la chaîne dans votre débogueur? –

+0

Il utilise des caractères invisibles. Je ne serais pas capable de les voir malgré tout. – user3818701

+0

oui, vous le feriez. convertir en tableau byte (ou ce que vous voulez) –

Répondre

1

Mettez dir.ToCharArray() dans l'expression de la montre du débogueur. Vous verrez maintenant les codes de caractères individuels, y compris les non-imprimables comme 0.

Questions connexes