c# 解码 encodeURIComponent的具体使用

 更新时间:2025年11月10日 10:25:11   作者:海天胜景  
本文介绍了在C#中解码由encodeURIComponent编码的URL的几种方法,包括使用HttpUtility.UrlDecode和QueryHelpers.ParseQuery/QueryHelpers.AddQueryString,具有一定的参考价值,感兴趣的可以了解一下

在C#中,如果你需要解码由encodeURIComponent方法编码的URL,你可以使用System.Web命名空间中的HttpUtility.UrlDecode方法。这个方法可以处理由JavaScript的encodeURIComponent方法编码的字符串。

首先,确保你的项目中引用了System.Web命名空间。如果你使用的是.NET Core或.NET 5/6等较新版本,你可能需要安装Microsoft.AspNetCore.WebUtilities包来使用QueryHelpers.ParseQuery和QueryHelpers.AddQueryString方法,因为从.NET Core 3.0开始,System.Web命名空间不再包含在默认项目中。

使用HttpUtility.UrlDecode(适用于.NET Framework) 如果你的项目是.NET Framework项目,可以直接使用HttpUtility.UrlDecode。

using System;
using System.Web; // 引入System.Web命名空间
 
class Program
{
    static void Main()
    {
        string encodedString = "Hello%20World%21"; // 例如,由encodeURIComponent编码的字符串
        string decodedString = HttpUtility.UrlDecode(encodedString);
        Console.WriteLine(decodedString); // 输出: Hello World!
    }
}

使用QueryHelpers.ParseQuery和QueryHelpers.AddQueryString(适用于.NET Core或.NET 5/6) 对于.NET Core或.NET 5/6项目,你可以使用以下方式:

using System;
using Microsoft.AspNetCore.WebUtilities; // 引入Microsoft.AspNetCore.WebUtilities命名空间
using System.Collections.Generic;
 
class Program
{
    static void Main()
    {
        string encodedString = "Hello%20World%21"; // 例如,由encodeURIComponent编码的字符串
        var decodedString = QueryHelpers.AddQueryString("", encodedString); // 使用AddQueryString进行解码,虽然这不是最直接的方法,但可以作为一种方式处理解码。
        Console.WriteLine(decodedString); // 输出: Hello World!
    }
}

然而,对于简单的解码需求,直接使用Uri.UnescapeDataString或.NET Core 3.0及以后版本的System.Web.HttpUtility.UrlDecode会是更好的选择。例如:

string decodedString = Uri.UnescapeDataString(encodedString); // 使用Uri类进行解码
Console.WriteLine(decodedString); // 输出: Hello World!

或者,如果你使用的是较新版本的.NET Core并且想要使用类似于HttpUtility.UrlDecode的功能:

string decodedString = System.Net.WebUtility.UrlDecode(encodedString); // 使用System.Net.WebUtility类进行解码(适用于较新版本的.NET Core)
Console.WriteLine(decodedString); // 输出: Hello World!

确保根据你的项目类型(例如是否为.NET Framework或.NET Core/5/6等)选择合适的方法。在较新的项目中,推荐使用System.Net.WebUtility.UrlDecode。

到此这篇关于c# 解码 encodeURIComponent的具体使用的文章就介绍到这了,更多相关c# encodeURIComponent内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#简易人机对抗“石头剪刀布”游戏的实现

    C#简易人机对抗“石头剪刀布”游戏的实现

    本文主要介绍了C#简易人机对抗“石头剪刀布”游戏的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • C#实现汉字转拼音或转拼音首字母的方法

    C#实现汉字转拼音或转拼音首字母的方法

    这篇文章主要介绍了C#实现汉字转拼音或转拼音首字母的方法,涉及C#操作数组、遍历及正则匹配的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#单向链表实现非升序插入方法的实例详解

    C#单向链表实现非升序插入方法的实例详解

    单向链表是一种数据结构,其中元素以线性方式连接在一起,每个元素都指向下一个元素,非升序插入意味着元素不是按升序(从小到大)插入链表中,本文给大家介绍了C#单向链表实现非升序插入方法的实例,需要的朋友可以参考下
    2024-03-03
  • C#实例化和静态类对象调用对比

    C#实例化和静态类对象调用对比

    这篇文章主要介绍了C#实例化和静态类对象调用对比,什么时候用实例化对象,什么时候用静态类对象,内存和生命周期又是如何,框架本身的回收机制是什么,下文详细解说需要的小伙伴可以参考一下
    2022-04-04
  • C#类的创建与初始化实例解析

    C#类的创建与初始化实例解析

    这篇文章主要介绍了C#类的创建与初始化实例解析,有助于初学者较为直观的理解C#的类,需要的朋友可以参考下
    2014-07-07
  • C#将dll打包到程序中的具体实现

    C#将dll打包到程序中的具体实现

    这篇文章介绍了C#将dll打包到程序中的具体实现,有需要的朋友可以参考一下
    2013-10-10
  • C#封装HttpClient实现HTTP请求处理

    C#封装HttpClient实现HTTP请求处理

    HttpClient作为.NET框架中处理HTTP请求的核心组件,为我们提供了强大而灵活的API,本文将介绍一个完整的HttpRequest类封装实现,并深入探讨HTTP请求处理的最佳实践
    2025-06-06
  • C#列出所有物理网络适配器的方法

    C#列出所有物理网络适配器的方法

    这篇文章主要介绍了C#列出所有物理网络适配器的方法,实例分析了C#操作网络设备的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • 带你一文了解C#中的Expression

    带你一文了解C#中的Expression

    c#中有Expression,即表达式,通过Expression可以动态构造代码,并编译执行,下面这篇文章主要给大家介绍了关于C#中Expression的相关资料,需要的朋友可以参考下
    2021-12-12
  • C#设置程序开机启动的实现示例

    C#设置程序开机启动的实现示例

    本文主要介绍了C#设置程序开机启动的实现示例,可以通过修改注册表将启动信息写入注册表来实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01

最新评论