C# 如何删除C中windows-10安全选项卡中的异常隐藏字符#
我在windows-10安全选项卡的路径中发现了一个隐藏字符C# 如何删除C中windows-10安全选项卡中的异常隐藏字符#,c#,windows,unicode,windows-10,filepath,C#,Windows,Unicode,Windows 10,Filepath,我在windows-10安全选项卡的路径中发现了一个隐藏字符 在Windows 10中,右键单击->属性 在安全选项卡上,突出显示“对象名称”的完整路径 以ANSI编码复制并粘贴到记事本+ 应该是“C:\Users\Mark\Documents“但它会显示一个额外的字符,如“?C:\Users\Mark\Documents” 我试图在Unicode地图中搜索这个,但找不到这是关于什么的。 有人知道这个角色是从哪里来的吗? 请在此找到附件,以供您理解: (由于我工作场所的政策,我无法直接上传图片
(由于我工作场所的政策,我无法直接上传图片。)这是unicode中的从左到右嵌入(U+202A) unicode检查: Unicode详细信息: 以下是我在C#中检查的方式: 要删除它,请执行以下操作:
line= line.Replace(u202, String.Empty);
要编写验证代码以确定其路径是否正确,请执行以下操作:
bool isWrong = line.IndexOfAny(Path.GetInvalidPathChars()) == -1;
将Unicode转换为ANSI是一种有损操作。如果您希望对此进行分析,请使用支持Unicode的编辑器。超级用户或安全StackExchange姐妹站点可能更合适。可能这只是windows上的一个常见错误(BOM?),可能是不同版本之间的错误,或者…@MrLister我刚刚编辑过它。
bool isWrong = line.IndexOfAny(Path.GetInvalidPathChars()) == -1;