`
izuoyan
  • 浏览: 9010180 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Javascript中的escape与C#互相转化

 
阅读更多

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# 的使用问题.

onsubmit="form1.Text1.value=escape(form1.Text1.value);"

.cs处理

stringa=HttpUtility.UrlDecode(Text1.Value);
Response.Write(a);
//c#实现escape编码:(用在ajax中)然后在aspx用unescape解码,就不会出现乱码问题
privatestringescape(strings)
{
StringBuildersb
=newStringBuilder();
byte[]ba=System.Text.Encoding.Unicode.GetBytes(s);
for(inti=0;i<ba.Length;i+=2)
{
sb.Append(
"%u");
sb.Append(ba[i
+1].ToString("X2"));

sb.Append(ba[i].ToString(
"X2"));
}
returnsb.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编码,注意不要重复
分享到:
评论

相关推荐

    前端三剑客(html+css+js)加vue部分基础运用2

    前端三剑客(html+css+js)加vue部分基础运用2

    aiohttp-3.9.4-cp311-cp311-musllinux_1_1_aarch64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    029-微信小程序-大好商城.zip

    029-微信小程序-大好商城.zip

    高分项目,基于Unity3D开发实现的情绪模拟游戏,内含完整源码+资源+unitypackage

    高分项目,基于Unity3D开发实现的情绪模拟游戏,内含完整源码+资源+unitypackage 模拟市民是情绪化的生物,而他们的情绪被心情指数牵动着。游戏中的互动能够带给模拟市民不同的心情指数,例如刷牙可能感到薄荷般的清新,置卫生于不顾则会觉得肮脏。各种心情指数都有相关的情绪强度,模拟市民当前的情绪,取决于他们拥有的心情指数。

    cryptography-1.9-cp36-cp36m-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    JavaScript 使用技巧.md

    JavaScript 是一种广泛使用的编程语言,主要用于网页开发,但也可以用于服务器端(如 Node.js)和各种其他环境。以下是一些 JavaScript 的使用技巧: 1. **使用模板字符串**: 使用反引号(```)可以创建模板字符串,这使得在字符串中嵌入变量或表达式变得更加容易。 ``` const name = "Kimi"; console.log(`Hello, ${name}!`); ``` 2. **箭头函数**: 使用箭头函数可以简化函数的编写,并且它们没有自己的 `this` 值。 ``` const add = (a, b) => a + b; ``` 3. **解构赋值**: 使用解构赋值可以快速从数组或对象中提取值并赋给变量。 ``` const [a, b] = [1, 2]; const { x, y } = { x: 1, y: 2 }; ``` 4. **使用 `const` 和 `let`**: 尽量使用 `const` 来声明只读变量,使用 `let` 来声明可变变

    aiohttp-3.7.1-cp36-cp36m-manylinux2014_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    025-微信小程序-兵马俑小程序(含语音画册与实时导览).zip

    025-微信小程序-兵马俑小程序(含语音画册与实时导览).zip

    基于java+深度学习开发的农作物病虫害识别+APP软件+源码+项目解析+数据+模型训练+数据库(毕业设计&课程设计&项目开发)

    基于java+深度学习开发的农作物病虫害识别+APP软件+源码+项目解析+数据+模型训练+数据库,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java+深度学习开发的农作物病虫害识别+APP软件+源码+项目解析+数据+模型训练+数据库,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 将Deep Learning图像识别技术和地图相册的实时全景结合融入app,让我们的app可以独自识别出相应病害。用户一旦遇到作物病害问题,可以直接拿出手机打开我们的「智农有道」并对植株叶片或者果实进行拍照,通过训练好的模型,app会自动匹配出相似度最高的疾病,对应详情和解决方法也会相应展示给用户,让用户更快速的诊断病害并找到解决防治方案。

    aiohttp-3.9.0b1-cp311-cp311-musllinux_1_1_aarch64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于微信小程序的校园兼职系统(源码)

    基于微信小程序的校园兼职系统(源码)

    160套-2G-Web网站项目-HTML5源码合集-涵盖多行业网站(商业&科技&培训&商城&课设&毕设&网页简历等模板).7z

    HTML网站模板凭借其高度的灵活性和易用性,成为前端开发者的得力助手。这些模板通常预先设计好了页面的布局和样式,开发者可以直接在此基础上进行内容的填充和功能的开发,大大节省了从0到1的时间成本。同时,优质的HTML模板会经过多次的兼容性测试,确保在不同浏览器和设备上都能呈现出良好的视觉效果,提升了用户体验。你是否正在为网站项目寻找灵感与起点?现在,我们为你精心准备了160套、总容量高达2G的Web网站项目HTML5源码合集!无论你是需要搭建商业、科技、培训、商城类网站,还是用于课程设计、毕业设计、网页简历等,这里都能找到心仪的模板。每一套模板都经过精心设计和优化,让你轻松打造专业、美观的网站。快来查看这份宝藏资源,让你的项目事半功倍吧!

    《低成本开放式架构跌倒检测系统作为无线传感器网络实现》matlab代码.rar

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    cryptography-2.3.1-cp34-cp34m-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    毕设项目:基于CTP和Qt的可视化期货监控系统.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

    RV1126 LVGL移植

    RV1126 LVGL移植

    aiohttp-3.8.0-cp39-cp39-musllinux_1_1_ppc64le.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    支持向量机磨损量预测附matlab代码.rar

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    基于SpringBoot和Vue员工信息管理系统(PC端+server端源码+MySQL脚本+环境部署步骤讲解+运行步骤讲解)

    服务宗旨:有任何问题私信我 适合人群:工作中项目需要、模板框架实战学习、大学毕业设计参考、找工作项目实战积累等等

    cryptography-1.3.4-cp35-cp35m-win_amd64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

Global site tag (gtag.js) - Google Analytics