我想输出一个人类可读列表的无效路径字符,这是.NET运行时所理解的。
我已经尝试过Linqpad和一个简单的Console.WriteLine(Path.GetInvalidPathChars)
控制台应用程序,但两者都显示某些字符很难辨认。显然,这是预期的。
注意:某些字符可能无法在控制台上显示。
文档是否告诉我,我无法获得这些字符的人类可读版本?
答案 0 :(得分:3)
某些字符没有可以在常规控制台中编写的任何可视表示形式。我会做这样的事情:
var chars = Path.GetInvalidPathChars().Select(x => (int)x);
foreach (char c in Path.GetInvalidPathChars())
{
Console.WriteLine("(char)" + (int)c + ": " + c );
}
答案 1 :(得分:1)
是的,有些字符无效,但不可读。例如,空终止符\0
没有可见的表示。有些字体会将这些字符呈现为问号框,有些字体有非常有趣的方式(不)显示它。
最重要的是,你必须用一些“人类可读”的文字替换这些字符,而不是用它们的直观表示。