首先介绍一个工具Fiddler,它提供了很多方便的转码功能。点击Toolbar上的”TextWizard” 按钮,如下图:

注意: URLEncode和HTMLEncode是两个不同的概念

URLEncode
URL编码是为了符合URL的规范。因为在标准的URL规范中中文和很多的字符是不允许出现在URL中的。

例如在baidu中搜索”测试汉字”。 URL会变成
http://www.baidu.com/s?wd=%B2%E2%CA%D4%BA%BA%D7%D6&rsv_bp=0&rsv_spt=3&inputT=7477

所谓URL编码就是: 把所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)

Javascript对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,
相应3个解码函数:unescape,decodeURI,decodeURIComponent

1、escape和encodeURI,encodeURIComponent不是同一类,escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读。

escape(charString)
必选项 charstring 参数是要编码的任意String对象或文字。

说明
escape 方法返回一个包含了charstring内容的字符串值(Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 “%20” 。字符值大于 255 的以 %uxxxx 格式存储。escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。

注意
escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

2、encodeURI和encodeURIComponent,唯一区别就是编码的字符范围
用法如下例如:

<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a>');</script>
Location.href=encodeURI(http://cang.baidu.com/do/s?word=中国&ct=21);

encodeURI(URIString)
必选的URIString参数代表一个已编码的URI。

说明
将文本字符串编码为一个有效的统一资源标识符 (URI)。encodeURI方法返回一个编码的URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。

encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent(encodedURIString)
必选的 encodedURIString 参数代表一个已编码的 URI 组件。

说明
将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。encodeURIComponent方法返回一个已编码的URI。如果您将编码结果传递给 decodeURIComponent,那么将返回初始的字符串。请注意,如果该字符串代表一个路径,例如/folder1/folder2/default.html,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到web服务器时将是无效的。如果字符串中包含不止一个URI组件,请使用encodeURI方法进行编码。

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

3、另外使用encodeURI方法编码的字符在PHP中可以使用urldecode()函数反编码

HTMLEncode

URLEncode HTMLEncode相关推荐

  1. so把asp页面生成静态的html,23、asp系列课程--server.URLEncode方法和server.HTMLEncode方法...

    作者:杨凡 来自:杨凡博客 地址:blog.sina.com.cn/aboutshisan server.URLEncode方法和server.HTMLEncode方法可以对字符串进行编码. 我们一个 ...

  2. Atitit 算法之道 attilax著 1. 编码算法 3 1.1. Base64 htmlencode urlencode 3 2. Ui方面的算法 3 2.1. 软键盘算法 计算软键盘上下

    Atitit 算法之道 attilax著 1. 编码算法 3 1.1. Base64 htmlencode  urlencode 3 2. Ui方面的算法 3 2.1. 软键盘算法  计算软键盘上下左 ...

  3. HtmlEncode、HtmlDecode、UrlEncode、UrlDecode

    HtmlEncode: 将 Html 源文件中不允许出现的字符进行编码.例如:"<".">"."&" 等. HtmlDe ...

  4. server对象html编码方法,server对象之HTMLEncode与HTMLDecode和URLEncode的用法

    呵呵! 写数据库的时就转化一下再写吧! HTMLEncode 与 HTMLDecode HTMLEncode 方法对指定的字符串应用 HTML 编码. 语法Server.HTMLEncode( str ...

  5. HTMlEncode和HTMLDecode、UrlEncode和 UrlDecode 定义和用法

    HTMlEncode和HTMLDecode 1.HTMLEncode函数:除了server.htmlencode的所有功能以外,还有转化回车和空格的功能,可以将textarea中输入的文本按照原样在h ...

  6. HtmlEncode、UrlEncode区别

    HtmlEncode.HtmlDecode.UrlEncode.UrlDecode HtmlEncode: 将 Html 源文件中不允许出现的字符进行编码.例如:"<".&q ...

  7. ASP.NET Core(.NET Core)中使用HtmlDecode和HtmlEncode方法

    .NET编码解码(HtmlEncode与HtmlDecode) 编码代码: System.Web.HttpUtility.HtmlEncode("<a href=\"http ...

  8. URLEncode的作用到底是什么呢?什么情况下非要用URLEncode方法呢?

    框架用多了,好多细节都没有注意到,回到原生PHP,对一些细节进行在学习. 今天碰到urlencode函数,很是纳闷这个东西干什么用的,百度之,终于搞明白了,简单总结就是你要放入URL的变量要做URL编 ...

  9. asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码

    在asp中加一个链接,指向asp.net网页,但asp.net的网址是经过HttpUtility.UrlEncode转换和HttpUtility.UrlDecode解码的,而asp的server.ur ...

最新文章

  1. 页面GBK,用jquery.post乱码问题
  2. 2440裸机编程之四 外部中断
  3. Visual Studio Code的Issue列表被黑产“攻陷”
  4. LXC C API 使用
  5. 京东2016校招编程题
  6. 前端学习(2918):v-on的补充
  7. 【转】Android加密算法:AES、Base64加密算法
  8. mysql5.7.17 win7_win7下mysql5.7.17安装配置方法图文教程
  9. 好的PPT——准备工作
  10. sharpssh远程linux监控系统,利用SharpSsh远程执行linux的shell命令
  11. metadata.js
  12. unity2D人物和物体的碰撞设置
  13. Android MVP和Dagger2
  14. 工作中常用Linux命令总结一
  15. SQL Server的下载和安装
  16. 2022软考中级软件设计师---易混淆知识点总结1
  17. bugku ctf 杂项 旋转跳跃 (熟悉的声音中貌似又隐藏着啥,key:syclovergeek)
  18. 机器学习开源框架系列:Torch:1:简介与安装
  19. 采用CCG和kkt条件编制两阶段鲁棒优化程序,以储能、发电、风电和光伏容量作为第一阶段变量
  20. 软件测试常用的linux命令

热门文章

  1. Ubuntu16.04 更新后搜狗输入法不能用
  2. 视频教程-php进阶课程之swoole系列课程精讲(第一季)-PHP
  3. VMWare Workstation:局域网PC连接虚拟机里的远程桌面或端口
  4. Linux课程笔记 Day09 课上内容总结 MySql,Php的安装及Apache,Nginx,Php的优化
  5. 在centos查看服务器物理地址,查看centos服务器的子网掩码和网关
  6. 微信小程序与传统APP十大优劣对比
  7. android 初始化 脚本,Android init language与init.rc初始化脚本
  8. 基于vue医院门诊互联电子病历管理信息系统(源代码+数据库+Lw文档)
  9. android动态壁纸2.2.1,8.2.1启动动态壁纸的方法
  10. 架构秘笈:移花接木。使用mysql模拟redis