JS对字符串编码的几种方式使用指南
函数 描述
encodeURI() 把字符串编码为 URI
encodeURIComponent() 把字符串编码为 URI 组件
escape() 对字符串进行编码
上面是查询来自w3school的资料。那么三者之间有什么区别呢,请容我测试测试。
var str = "http://localhost:8080/Product/index?id=123&attr=456&area=中国";
console.log(encodeURI(str));
console.log(encodeURIComponent(str));
console.log(escape(str));
打印结果如下:
http://localhost:8080/Product/index?id=123&attr=456&area=%E4%B8%AD%E5%9B%BD
http%3A%2F%2Flocalhost%3A8080%2FProduct%2Findex%3Fid%3D123%26attr%3D456%26area%3D%E4%B8%AD%E5%9B%BD
http%3A//localhost%3A8080/Product/index%3Fid%3D123%26attr%3D456%26area%3D%u4E2D%u56FD
可以看出,
encodeURI不会对:/?&等uri中起分割作用的字符进行编码;
encodeURIComponent则会。
观察escape则发现,:?&都被转码了,而/没有,w3school解释是,escape函数会对ascii码中字母、数字及符号( * @ - _ + . / )之外的所有字符进行编码。
另外,我们可以看出escape对汉字“中国”编码后结果与前两者不同。W3SCHOOL也建议不使用该方法,用前两者代替。
以上所述就是本文的全部内容了,希望对大家学习javascript能够有所帮助。
相关推荐
-
对字符串进行HTML编码和解码的JavaScript函数
编码函数: 复制代码 代码如下: function HtmlEncode(str) { var t = document.createElement("div"); t.textContent ? t.textContent = str : t.innerText = str; return t.innerHTML; } 解码函数: 复制代码 代码如下: function HtmlDecode(str) { var t = document.createElement("di
-
js对字符串进行编码的方法总结(推荐)
在用javascript对URL字符串进行编码中,虽然escape().encodeURI().encodeURIComponent()三种方法都能对一些影响URL完整性的特殊字符进行过滤. 但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编码不一至导致的乱码问题. 例如:发送页与接受页的编码格式(Charset)不一致(假设发送页面是GB2312而接收页面编码是UTF-8),使用escape()转换传输中文字串就会出现乱码问题. 以下是JS下对URL进行编/解码的各种方法: 1.es
-
JavaScript中最简洁的编码html字符串的方法
html字符串是指'<div id="a">aklsdjfklsjdfl</div>'这样的带html特殊符号的字符串,我们通常要对他进行处理再输出以免输出成了真正的html元素,也就是把<变成<这样的html符号代码. 如果字符串很长,里面特殊符号很多,我们该怎么简单而高效的把他们全部转码呢?循环?正则表达式?都不用!且看: 复制代码 代码如下: function bian(a){return new Option(a).innerHTML} 这就
-
JavaScript将字符串转换成字符编码列表的方法
本文实例讲述了JavaScript将字符串转换成字符编码列表的方法.分享给大家供大家参考.具体如下: JavaScript将字符串转换成字符编码列表,例如foo转换成 [112,111,111] 方法 1: JavaScript 1.6 Array.map('foo', function(x) { return String.charCodeAt(x) }) // is [112,111,111] 方法2: JavaScript 1.7 [ String.charCodeAt(x) for ea
-
Python中还原JavaScript的escape函数编码后字符串的方法
遇到一个问题需要用Python把JavaScript中escape的中文给还原,但找了大半天,也没有找到答案,只好自己深入研究解决方案. 我们先来看在js中escape一段文字的编码 复制代码 代码如下: a = escape('这是一串文字'); alert(a); 输出: 复制代码 代码如下: %u8FD9%u662F%u4E00%u4E32%u6587%u5B57 咋一看,就感觉有点类似json格式,我们来看看标准的json格式编码同样的汉子"这是一串文字" 复制代码 代码如下:
-
JS对URL字符串进行编码/解码分析
虽然escape().encodeURI().encodeURIComponent()三种方法都能对一些影响URL完整性的特殊 字符进行过滤.但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编码不一至导致的乱码问 题.例如:发送页与接受页的编码格式(Charset)不一致(假设发送页面是GB2312而接收页面编码是 UTF-8),使用escape()转换传输中文字串就会出现乱码问题. 以下是JS下对URL进行编/解码的各种方法: escape 方法:返回一个可在所有计算机上读取的编码
-
JS 文字符串转换unicode编码函数
复制代码 代码如下: function uniencode(text) { text = escape(text.toString()).replace(/\+/g, "%2B"); var matches = text.match(/(%([0-9A-F]{2}))/gi); if (matches) { for (var matchid = 0; matchid < matches.length; matchid++) { var code = matches[matchid
-
JS对字符串编码的几种方式使用指南
函数 描述 encodeURI() 把字符串编码为 URI encodeURIComponent() 把字符串编码为 URI 组件 escape() 对字符串进行编码 上面是查询来自w3school的资料.那么三者之间有什么区别呢,请容我测试测试. 复制代码 代码如下: var str = "http://localhost:8080/Product/index?id=123&attr=456&area=中国"; console.log(encodeURI(str));
-
js字符串引用的两种方式(必看)
如下所示: function setName(obj) { obj.ok = "ccccccc"; } function aa() { var name = new String("hechangmin"); name.ok = "sdf"; //第一种方式 // String.prototype.ok = "aaaaa"; //第二种方式 alert(name.ok); // aaaaa setName(name); ale
-
JS使用post提交的两种方式
本文实例讲述了JS使用post提交的两种方式.分享给大家供大家参考,具体如下: 第一种提交post的方式是传统方式,判断浏览器进行post请求. <SCRIPT stype=text/javascript> var xmlobj; //定义XMLHttpRequest对象 function CreateXMLHttpRequest() { if(window.ActiveXObject) //如果当前浏览器支持Active Xobject,则创建ActiveXObject对象 { //xmlo
-
JS中检测数据类型的几种方式及优缺点小结
1.typeof 用来检测数据类型的运算符 typeof value 返回值首先是一个字符串,其次里面包含了对应的数据类型,例如:"number"."string"."boolean"."undefined"."object"."function" 局限性: 1)typeof null ->"object" 2)检测的不管是数组还是正则都返回的是"ob
-
Jmeter实现Base64编码的两种方式
Jmeter实现Base64编码有两种方式: 1.如果安装的Jmeter版本内置提供了Base64加密函数,可以直接使用该内置函数,方法如下: 点击Tools --> 函数助手对话框 找到内置的Base64加密函数,选中__base64Encode 2.如果安装的Jmeter版本无内置Base64加密函数,那么遇到需要Base64加密的需求,只能通过BeanShell脚本实现,方法如下: import org.apache.commons.net.util.Base64; String sour
-
node.js配置Token验证的2种方式总结
目录 1. 生成Token jwt passport实现生成和验证Token 2. 使用passpport-jwt||passport验证Token 总结 1. 生成Token jwt passport实现生成和验证Token jsonwebtoken 1.安装 npm i jsonwebtoken 2.引入 const jwt = require('jsonwebtoken')s 3.定义规则 const rule = {<!--{C}%3C!%2D%2D%20%2D%2D%3E--> id
-
原生js更改css样式的两种方式
下面我给大家介绍的是原生js更改CSS样式的两种方式: 1. 通过在javascript代码中的node.style.cssText="css表达式1:css表达式2:css表达式3 "的方式直接更改CSS样式. 2. 先在CSS样式表中对特定的类如"active类"设置样式(这里的active类是假定的,暂时不存在),然后再在javascript代码中通过node.classname="active"使得CSS样式表中对active类的样式设
-
String字符串截取的四种方式总结
如下所示: import java.util.StringTokenizer; import java.util.regex.Pattern; import org.junit.Test; public class TestStringToken { @Test public void subSting() { String str = "java,javac,javae"; String s1 = str.substring(2);//"va,javac,javae&quo
-
JS刷新父窗口的几种方式小结(推荐)
浮层内嵌iframe及frame集合窗口,刷新父页面的多种方法 <script language=JavaScript> parent.location.reload(); </script> <script language=JavaScript> parent.location.reload(); </script> 弹出子页面 <script language=JavaScript> window.opener.location.reloa
-
点评js异步加载的4种方式
js异步加载的4种方式,点评开始. 方案1:$(document).ready <!DOCTYPE html> <html> <head> <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script> <script type="text/javascript"&g
随机推荐
- 基于jquery的无限级联下拉框js插件
- HTML5附件拖拽上传drop & google.gears实现代码
- 关于延迟加载JavaScript
- ORA-12514及ORA-28547错误解决方案
- Python实现定时任务
- 非常经典的C语言趣味题目
- C#图书管理系统 附源码下载
- 一步步教你利用Canvas对图片进行处理
- docker python api 安装配置的详解
- SQL Server下几个危险的扩展存储过程
- 轻松安装Red Hat 9.0
- C#使用ping命令的两个例子
- Android中Webview打开网页的同时发送HTTP头信息方法
- java中设计模式(多例)的实例详解
- 关于php操作mysql执行数据库查询的一些常用操作汇总
- PHP网站自动化配置的实现方法(必看)
- 基于select、poll、epoll的区别详解
- C++数据结构与算法之哈夫曼树的实现方法
- IOS中微信小程序播放缓存的音频文件的方法
- 使用Docker-compose离线部署Django应用的方法