C#写一个js的escape函数

 

由于某种需要,要在server端对字符串(主要是汉字)进行编码,在页面 解码 .   
   C#里有urlencode,但js没有urldecode,所以想用js的escape编码,但是C#里没有escape函数(我没找到),这样就需要自己写一个escape编码函数.   
   这是其他网友写的编码规则:   
   简单 的说,就是把空格、标点、带音调标记的字符以及非    ASCII    字符都进行编码,编码规则是用    %    加上字符    ASCII    码的    2    位十六进制形式。   
   其实就是%uXXXX,其中XXXX就是汉字的十六进制数.   
   我对编码不太懂,请问这个C# 函数 该如何写?只要写出关键语句就可以.   
   注意:要是C#的escape编码,而不是解码!!!   
    
   HttpUtility.UrlEncodeUnicode(string)   
   就可以了

另外对于在写cookie时比如:abcd@126.com,我们在写入的时候即使不做任何处理,会自动编码成abcd%40126.com,然后我们在服务器端,比如c#里读取需要转换HttpUtility.UrlDecode(cookieUEmail.Value.Trim()).ToString()

但是对于在写cookie时用了escape(js,php,asp都有这个函数,但是c#没有),在cookie里格式为%25u4E03%25u90CE2007,这时我们需要反解码两遍,HttpUtility.UrlDecode(HttpUtility.UrlDecode(cookieUEmail.Value.Trim()).ToString()).ToString()

第一遍得到的结果是  %u4E03%25u90CE2007 其实这是标准的十六进制

第二遍得到的结果是  七郎2007

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值