Tag: urldecode

如何正确使用UrlEncode和Decode

所以我有一个文件,我上传到azure blob存储: C:\ test文件夹\ A + B \ testfile.txt 和两个扩展方法,帮助编码我的路径,以确保它被赋予有效的azure存储blob名称 public static string AsUriPath(this string filePath) { return System.Web.HttpUtility.UrlPathEncode(filePath.Replace(‘\\’, ‘/’)); } public static string AsFilePath(this string uriPath) { return System.Web.HttpUtility.UrlDecode(uriPath.Replace(‘/’, ‘\\’)); } 因此,当上传文件时,我将其编码为AsUriPath并获取名称test%20folder\A+B\testfile.txt但是当我尝试将其作为文件路径返回时,我得到test folder\AB\testfile.txt ,这显然不是相同( +已被删除) 使用UrlEncode和UrlDecode确保您获得与最初编码相同的信息的正确方法是什么?

将url从utf-8编码重新编码为iso-8859-1编码

我有文件://链接非英文字符,这些字符是以UTF-8编写的UrlEncoded。 要使这些链接在浏览器中工作,我必须重新编码它们。 file://development/H%C3%A5ndplukket.doc 变 file://development/H%e5ndplukket.doc 我有以下代码可行: public string ReEncodeUrl(string url) { Encoding enc = Encoding.GetEncoding(“iso-8859-1”); string[] parts = url.Split(‘/’); for (int i = 1; i < parts.Length; i++) { parts[i] = HttpUtility.UrlDecode(parts[i]); // Decode to string parts[i] = HttpUtility.UrlEncode(parts[i], enc); // Re-encode to latin1 parts[i] = parts[i].Replace('+', ' '); // Change + to [space] } […]

如何解码URL中的“\ u0026”?

我想解码URL A到B : A) http:\/\/example.com\/xyz?params=id%2Cexpire\u0026abc=123 B) http://example.com/xyz?params=id,expire&abc=123 这是一个示例URL,我寻找一般的解决方案,而不是A.Replace(“\/”, “/”)… 目前我使用HttpUtility.UrlDecode(A, Encoding.UTF8)和其他Encodings但无法生成URL B !