urldecode解码方法

输入为带有urldecode转码文本,输出正常文本。

复制代码
//20130625 by zhangyl 
private string ConvertToString(string input) 
        { 
            input = input.Replace("\\\"", "\""); 
            input = input.Replace("\\/", "/"); 
            string result; 
            if (!input.Contains("\\u")) 
            { 
                result = input; 
            } 
            else 
            { 
                StringBuilder stringBuilder = new StringBuilder(); 
                if (input.IndexOf("\\u") > 0) 
                { 
                    stringBuilder.Append(input.Substring(0, input.IndexOf("\\u"))); 
                    input = input.Substring(input.IndexOf("\\u")); 
                } 
                if (!string.IsNullOrEmpty(input)) 
                { 
                    string[] array = input.Split(new string[] 
                    { 
                        "\\u" 
                    }, StringSplitOptions.RemoveEmptyEntries); 
                    string[] array2 = array; 
                    for (int i = 0; i < array2.Length; i++) 
                    { 
                        string text = array2[i]; 
                        if (text.Length > 4) 
                        { 
                            string arg = text.Substring(4); 
                            stringBuilder.Append((char)int.Parse(text.Substring(0, 4), NumberStyles.HexNumber) + arg); 
                        } 
                        else 
                        { 
                            if (text.Length == 4) 
                            { 
                                stringBuilder.Append((char)int.Parse(text, NumberStyles.HexNumber)); 
                            } 
                            else 
                            { 
                                if (text.Length < 4 && text.Length > 0) 
                                { 
                                    stringBuilder.Append(text); 
                                } 
                            } 
                        } 
                    } 
                } 
                result = stringBuilder.ToString(); 
            } 
            return result; 
        }
复制代码

 

posted @   牧师/preacher  阅读(2116)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示