从URI相对路径中删除%20

我正在生成从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(); } 

 string sRelativeFilePath = Uri.UnescapeDataString(new Uri(sAbsolutePath + "\\", false).MakeRelative(new Uri(filename))); 

使用HttpServerUtility.UrlDecode方法(String)

尝试查看Server.UrlDecode: http : //msdn.microsoft.com/en-us/library/6196h3wt.aspx

空格字符不是唯一编码的字符。