【发布时间】:2014-08-31 07:49:18
【问题描述】:
我正在制作一个简单的命令程序,在尝试创建目录时,出现路径中存在无效字符的错误,我猜是 NetworkStream 添加了不可见字符?
代码:
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());
}
}
EXACT ERROR: System.Argument Exception, Illegal Characters at Path
【问题讨论】:
-
为什么不在调试器中检查字符串?
-
它使用了不可见的字符。无论如何我都看不到它们。
-
是的,你会的。转换为字节数组(或任何你喜欢的)
-
在某一时刻,您决定它是 ASCII,然后转换为 UTF8。是哪个?
-
我已将其转换为 UTF8,但仍然遇到同样的错误,不过感谢您指出这一点。
标签: c# networking tcp stream networkstream