我正在生成从 1 个目录到另一个目录的相对路径。如果 OutputDirectoryName 属性是包含空格的目录,则使用 %20 而不是空格对空格进行编码。我正在创建一个到 Windows 文件夹的相对路径,所以我必须使用空格来设置我的相对路径。有没有一种简洁的方法来指定 URI 的编码方式?我知道我可以对 relativePath.ToString() 进行 stirng 替换,但我想知道是否有更好的实现。 谢谢。
public string GetOutputDirectoryAsRelativePath(string baseDirectory)
{
Uri baseUri = new Uri(baseDirectory);
Uri destinationUri = new Uri(OutputDirectoryName);
Uri relativePath = baseUri.MakeRelativeUri(destinationUri);
return relativePath.ToString();
}
最佳答案
你可以使用
Uri.UnescapeDataString
http://msdn.microsoft.com/en-us/library/system.uri.unescapedatastring.aspx
关于c# - 从 URI 相对路径中删除 %20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706555/