日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

转) javascript 中的escape 与C#互相转化

發布時間:2023/12/19 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转) javascript 中的escape 与C#互相转化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
修改:2008-10-20

public static string Escape(string s)
??????? {
??????????? StringBuilder sb = new StringBuilder();
??????????? byte[] ba = System.Text.Encoding.Unicode.GetBytes(s);
??????????? for (int i = 0; i < ba.Length; i += 2)
??????????? {
??????????????? if (ba[i + 1] == 0)
??????????????? {
??????????????????? //數字,大小寫字母,以及"+-*/._"不變
??????????????????? if (
????????????????????????? (ba[i]>=48 && ba[i]<=57)
??????????????????????? ||(ba[i]>=64 && ba[i]<=90)
??????????????????????? ||(ba[i]>=97 && ba[i]<=122)
??????????????????????? ||(ba[i]==42 || ba[i]==43 || ba[i]==45 || ba[i]==46 || ba[i]==47 || ba[i]==95)
??????????????????????? )//保持不變
??????????????????? {
??????????????????????? sb.Append(Encoding.Unicode.GetString(ba, i, 2));

??????????????????? }
??????????????????? else//%xx形式
??????????????????? {
??????????????????????? sb.Append("%");
??????????????????????? sb.Append(ba[i].ToString("X2"));
??????????????????? }
??????????????? }
??????????????? else
??????????????? {
??????????????????? sb.Append("%u");
??????????????????? sb.Append(ba[i + 1].ToString("X2"));
??????????????????? sb.Append(ba[i].ToString("X2"));
??????????????? }
??????????? }
??????????? return sb.ToString();

??????? }

源文地址

javascript : escape 編碼與C# 的使用問題.

οnsubmit="form1.Text1.value?=?escape(form1.Text1.value);"

?

?

.cs處理?

?

?string?a?=?HttpUtility.UrlDecode(Text1.Value);
Response.Write(a);

?

?

//c#實現escape編碼:(用在ajax中)然后在aspx用unescape解碼,就不會出現亂碼問題
?private?string?escape(string?s)
????{
????????StringBuilder?sb?
=?new?StringBuilder();
????????
byte[]?ba?=?System.Text.Encoding.Unicode.GetBytes(s);
????????
for?(int?i?=?0;?i?<?ba.Length;?i?+=?2)
????????{???
????????????sb.Append(
"%u");
????????????sb.Append(ba[i?
+?1].ToString("X2"));

????????????sb.Append(ba[i].ToString(
"X2"));
????????}
????????
return?sb.ToString();

????}??

另外一些方法 ---------------------------- encodeURIComponent() /?decodeURIComponent() encodeURI()/decodeURI() 注意上面兩對javascript函數使用的編碼多是utf-8 應次如果頁面使用編碼不是utf-8就需要做另外的處理 asp.net 發數據給 javascript 在頁面使用gb2312時 encodeString=HttpUtility.UrlEncode("中問是中問http://www.gyzs.net/", System.Text.Encoding.UTF8) 接收 <script>document.write(decodeURIComponent('<%=encodeString %>'));</script> javascritp 發數據給asp.net 頁面中有如下js腳本 <script>document.write("<a href='?t=" +encodeURI('中問是中問http://www.gyzs.net') +"' >點我</a>");</script> 如果web.config中配置使用gb2312那么就要做如下處理 ?Response.Write(HttpUtility.UrlDecode( Server.UrlEncode( Request["t"]),System.Text.Encoding.UTF8)); 如果web.config中使用的utf-8那么直接使用Request["t"]就可以 另外要注意表單提交使用post方法時,會對表單里的數據進行 url編碼,注意不要重復

?

?

轉載于:https://www.cnblogs.com/wdfrog/archive/2008/09/05/1284801.html

總結

以上是生活随笔為你收集整理的转) javascript 中的escape 与C#互相转化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。