`

js中escape对应的C#解码函数

阅读更多
js中escape对应的C#解码函数 System.Web.HttpUtility.UrlDecode(s) //注意编码

----------------------------------------------------------------------------------------------


需要注意的几点:
1、HttpUtility.UrlEncode,HttpUtility.UrlDecode是静态方法,而Server.UrlEncode,Server.UrlDecode是实例方法。
2、Server是HttpServerUtility类的实例,是System.Web.UI.Page的属性。
3、用HttpUtility.UrlEncode编码后的字符串和用Server.UrlEncode进行编码后的字符串对象不一样:
例如:
string url="http://search.99read.com/index.aspx?book_search=all&main_str=奥迷尔";
Response.Write(HttpUtility.UrlEncode(url));
Response.Write("<br>");
Response.Write(Server.UrlEncode(url));
输出结果是:
http%3a%2f%2fsearch.99read.com%2findex.aspx%3fbook_search%3dall%26main_str%3d%e5%a5%a5%e8%bf%b7%e5%b0%94
http%3a%2f%2fsearch.99read.com%2findex.aspx%3fbook_search%3dall%26main_str%3d%b0%c2%c3%d4%b6%fb

原因:Server.UrlEncode的编码方式是按照本地程序设置的编码方式进行编码的,而HttpUtility.UrlEncode是默认的按照.net的utf-8格式进行编码的。
如果改一下程序:
string url1="http://search.99read.com/index.aspx?book_search=all&main_str=奥迷尔";
Response.Write(HttpUtility.UrlEncode(url1,System.Text.Encoding.GetEncoding("GB2312")));
Response.Write("<br>");
Response.Write(Server.UrlEncode(url1));
输出的结果是:
http%3a%2f%2fsearch.99read.com%2findex.aspx%3fbook_search%3dall%26main_str%3d%b0%c2%c3%d4%b6%fb
http%3a%2f%2fsearch.99read.com%2findex.aspx%3fbook_search%3dall%26main_str%3d%b0%c2%c3%d4%b6%fb
3、有时候可能别的系统传递过来的url是用别的编码方式编码的。
介绍自己编写的一个方法,可以获取指定编码格式的QueryString。
public string GetNonNullQueryString(string key,Encoding encoding)
{
//引用System.Collections.Specialized和System.Text命名空间
string stringValue;
System.Collections.Specialized.NameValueCollection encodingQueryString;
//该方法是在2.0中新增的
encodingQueryString = HttpUtility.ParseQueryString(Request.Url.Query,encoding);
//'里面的key就是你提交的参数的Key
return encodingQueryString[key] != null ? encodingQueryString[key].Trim() : "";
}
调用:
string url = GetNonNullQueryString("url",Encoding.UTF8).Trim();

分享到:
评论

相关推荐

    js中escape对应的C#解码函数 - Corrinejtt - ITeye

    js中escape对应的C#解码函数 - Corrinejtt - ITeye

    js中escape对应的C#解码函数 UrlDecode

    本文将详细探讨JavaScript中的`escape`函数及其C#对应的解码方法`System.Web.HttpUtility.UrlDecode`,同时也会讲解JavaScript中的`escape`、`encodeURI`和`encodeURIComponent`的区别以及它们的解码对应函数。...

    JS编码-解码.asp(C#)对应解码-编码【精品文档】.doc

    这篇文档涉及到的主要知识点包括JS的`escape`、`encodeURI`和`encodeURIComponent`方法,以及C#的对应解码函数`decodeURI`和`Server.UrlDecode`。 1. **JS的`escape`方法**: `escape`方法主要用于对字符串进行...

    C#版的 Escape() 和 Unescape() 函数分享

    在JavaScript中,`escape()` 和 `unescape()` 也执行类似的字符串编码和解码操作,但它们的规则与C#的 `Uri` 类方法略有不同,对某些字符(如非ASCII字符)的处理方式有差异。 总结来说,`Escape()` 和 `Unescape()...

    JavaScript、C# URL编码、解码总结

    此外,JavaScript中还有 `escape()` 和 `unescape()` 函数,但它们在ECMAScript v3之后不推荐使用,因为它们的转义序列处理方式可能导致问题。 在C#中,URL编码主要涉及 `System.Web` 命名空间下的几个方法: 1. `...

    JS与C#编码解码

    在JS(JavaScript)和C#两种编程语言中,编码解码的应用是十分普遍的,尤其在处理URL编码、数据传输以及存储等方面。 首先,我们来详细讨论一下JavaScript中的编码解码方法。 JavaScript提供了几个内置函数来处理...

    js escape,unescape解决中文乱码问题的方法

    在JavaScript中,`escape`和`unescape`是两个与字符串编码和解码相关的函数,它们主要用于处理包含特殊字符或非ASCII字符的字符串。这两个函数对于处理中文乱码问题尤其重要,因为它们可以帮助我们将字符串转换成...

    JS对URL字符串进行编码/解码分析

    在本篇分析中,我们将探讨三种主要的编码函数:`escape()`、`encodeURI()`和`encodeURIComponent()`,以及它们的对应解码函数`unescape()`、`decodeURI()`和`decodeURIComponent()`。 首先,`escape()`函数用于对...

    asp.net+js实现批量编码与解码的方法

    - **兼容性**: 在使用JavaScript的escape()函数时应注意其在现代JavaScript中的弃用,但在旧版浏览器中仍然需要使用。 - **安全性**: 确保编码操作不仅包括表单提交的数据,还应包括可能影响Web应用程序安全性的任何...

    url特殊字符处理方法

    在JavaScript中,使用escape(String s)和unescape(String s)函数来进行URL的编码和解码。 此外,还可以使用自定义的函数来进行URL的编码,例如: ```javascript function URLencode(sStr){ return escape(sStr)....

    C#编程经验技巧宝典

    58 &lt;br&gt;0081 文本中首字母改为大写 59 &lt;br&gt;0082 C#随机数的产生 59 &lt;br&gt;0083 身份证从15位升至18位算法 60 &lt;br&gt;0084 十进制数转二进制数的算法 60 &lt;br&gt;0085 十进制数转八进制数的算法 61...

    ASP.NET中url传递中文的解决方案

    这种方式利用了JavaScript中的`escape`函数对参数进行编码,然后在服务器端使用`Server.UrlDecode`进行解码。 #### 五、全局设置与局部处理相结合 为了更全面地解决问题,还可以考虑在web.config文件中设置全局...

    Javascript Cookie读写删除操作的函数

    JavaScript中的Cookie是Web开发中用来存储用户数据的一种机制,它将少量信息保存在用户的浏览器上。这个信息在用户下次访问同一网站时会被读取。在本文中,我们将深入探讨如何使用JavaScript进行Cookie的读、写和...

    解析XML特殊字符方法

    例如,在Python中,可以使用`xml.sax.saxutils.escape()`函数来编码特殊字符,而在JavaScript中,可以使用`encodeURI()`或`encodeURIComponent()`函数。同样,接收XML数据后,可以通过解码函数还原这些字符。 **3. ...

    java中URLEncoder.encode与URLDecoder.decode处理url特殊参数的方法

    JavaScript中也有类似的函数,如 `escape()`、`encodeURI()` 和 `encodeURIComponent()`。其中,`encodeURIComponent()` 与Java的 `URLEncoder.encode()` 类似,适用于大多数情况,因为它不会编码 `/`、`:`、`;`、`?...

    .net调用JScript脚本及JS url加密解密

    例如,`Microsoft.JScript.GlobalObject`类包含了JavaScript的一些全局对象和函数,这些在JavaScript中可以直接使用的函数在.NET中则需要通过`GlobalObject`来访问。 1. **使用escape和unescape**: - `escape`...

    Voca是一个用于操作字符串的Javascript库

    1. **格式化**:Voca提供了类似于C#中的`String.Format`或Python的`format()`方法,可以方便地将变量插入到字符串模板中。例如,你可以使用`voca.format("Hello, {0}", "World")`生成"Hello, World"。 2. **转义和...

    简单实例处理url特殊符号&amp;处理(2种方法)

    JavaScript中有三个与编码相关的函数:`escape()`、`encodeURI()`和`encodeURIComponent()`。其中,`encodeURI()`是推荐用来编码URI的,因为它遵循UTF-8编码且不会对一些特殊字符如`!`, `@`, `#`, `$`, `&`, `*`, `...

Global site tag (gtag.js) - Google Analytics