jscript对URL参数进行编码与解码
虽然escape()、encodeURI()、encodeURIComponent()三种方法都能对一些影响URL完整性的特殊
字符进行过滤。但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编码不一至导致的乱码问
题。例如:发送页与接受页的编码格式(Charset)不一致(假设发送页面是GB2312而接收页面编码是
UTF-8),使用escape()转换传输中文字串就会出现乱码问题。
以下是JS下对URL进行编/解码的各种方法:
escape 方法:返回一个可在所有计算机上读取的编码 String 对象。
function escape(charString : String) : String
不会被此方法编码的字符: @ * / +
说明:escape 方法返回一个包含 charstring 内容的字符串值(Unicode 格式)。所有空格、标点、
重音符号以及任何其他非 ASCII 字符都用 %xx 编码替换,其中 xx 等于表示该字符的十六进制数。
例如,空格返回为“%20”。(字符值大于 255 的字符以 %uxxxx 格式存储。)
注意:escape 方法不能用来对“统一资源标识符”(URI) 进行编码。对其编码应使用 encodeURI 和
encodeURIComponent 方法。
encodeURI 方法:返回编码为有效的统一资源标识符 (URI) 的字符串。
function encodeURI(URIString : String) : String
不会被此方法编码的字符:! @ # $ & * ( ) = : / ; ? + '
说明:encodeURI 方法返回一个已编码的 URI。如果将编码结果传递给 decodeURI,则将返回初始的
字符串。encodeURI 不对下列字符进行编码:“:”、“/”、“;”和“?”。请使用
encodeURIComponent 对这些字符进行编码。
encodeURIComponent 方法:返回编码为统一资源标识符 (URI) 的有效组件的字符串。
function encodeURIComponent(encodedURIString : String) : String
不会被此方法编码的字符:! * ( ) '
说明:encodeURIComponent 方法返回一个已编码的 URI。如果将编码结果传递给
decodeURIComponent,则将返回初始的字符串。因为 encodeURIComponent 方法将对所有字符编码,
请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,则其中的斜杠也将被
编码,这样,当该字符串作为请求发送到 Web 服务器时它将是无效的。如果字符串中包含多个 URI
组件,请使用 encodeURI 方法进行编码。
unescape 方法:从用 escape 方法编码的 String 对象中返回已解码的字符串。
function unescape(charString : String) : String
说明:unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的
字符都用 ASCII 字符集当中等效的字符代替。(以 %uxxxx 格式(Unicode 字符)编码的字符用十六
进制编码 xxxx 的 Unicode 字符代替。)
注意:unescape 方法不应用于解码“统一资源标识符”(URI)。请改用 decodeURI 和
decodeURIComponent 方法。
decodeURI 方法:返回一个已编码的统一资源标识符 (URI) 的非编码形式。
function decodeURI(URIstring : String) : String
decodeURIComponent 方法:返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。
function decodeURIComponent(encodedURIString : String) : String
C#中对URL编码的方法。。。
编码:Server.UrlEncode(string)
解码:Server.UrlDecode(string)
转载于:https://www.cnblogs.com/zgqys1980/archive/2009/08/24/1552762.html
jscript对URL参数进行编码与解码相关推荐
- java url转urf8_UrlEncode编码/UrlDecode解码使用方法
当使用地址栏提交查询参数时,如果不编码,非英文字符会按照操作系统的字符集进行编码提交到服务器,服务器会按照配置的字符集进行解码,所以如果两者不一致就会导致乱码. encodeURI函数采用UTF-8对 ...
- 微信小程序页面跳转时URL参数丢失问题
最近在小程序开发过程中,发现之前可用的某个功能字段展示为了undefined,后来查看参数发现页面跳转时参数丢失了导致的 // group/index.jshandleJump() {const { ...
- python url解码_对python中url参数编码与解码的实例详解
一.简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码. 二.关键代码 1.url编码 对字符串编码用urllib.parse包下的quote(string, saf ...
- vue 项目优雅的对 url 参数加密
实现方案:stringifyQuery 和 parseQuery 近期因为公司内部的安全检查,说我们现在的系统中参数是明文的,包括给后端请求的参数和前端页面跳转携带的参数,因为是公司内部使用的系统,在 ...
- Java中的编码与解码
1. 基本概念: (1)字符集(Charset):是一个系统支持的所有字符的集合,包括各国家文字.标点符号.图形符号.数字等. (2)字符编码(Character Encoding):就是一套自然语言 ...
- mysql base64 乱码_PHP base64编码后解码乱码的解决办法
在用PHP做东西的时候发现了一个问题,可以简单的归结为乱码的问题,但是这个问题不是函数本身造成的.来看看罪魁祸首是谁. 嫌疑人:base64_encode 和 base64_decode 罪行:我写了 ...
- PHP对URL进行字符串编码
//对URL进行字符串编码和解码 $url1 = 'https://www.baidu.com/uploade/img/123.png'; echo $url1; echo '<br>'; ...
- go url 参数编码和解码
为什么80%的码农都做不了架构师?>>> 1 在做支付的时候会涉及到 url参数编码和解码,然后转换成自己想要的格式 app_id=2016073100129537&b ...
- c# html 解码,C#,.Net Core Escape、Url编码与解码
2019-11-14 更新 不知道大家有没有注意过 字符串保存到数据库里是 这样的一段字符 要引用.net 自带的DLL Microsoft.JScript 这字符是 Escape编码 //E ...
- java学习-http中get请求的非ascii参数如何编码解码探讨
# 背景: 看着别人项目代码看到一个PathUtils工具类, 里面只有一个方法,String rebuild(String Path),将路径进行URLDecoder.decode解码,避免路径中 ...
最新文章
- debian8下给postgresql9.5编译配置pgpool-II-3.5
- C语言的 32个关键之和9个控制语言之关键字
- shell 脚本调试
- Intel Realsense D435 官方推荐有源USB线(有源电缆 cable)
- 【转】日服巫术online过驱动保护分析(纯工具)(工具+自写驱动)
- SAP云平台Neo环境支持nodejs module吗
- 一文讲清数据治理、数据管理、数据资产管理区别,数据专家必看
- linux编译寻找包含的头文件,Linux编写内核模块编译时找不到头文件
- Java : ServiceLoader详解
- 【问题解决】解决 Android SDK下载和更新失败“Connection to https://dl-ssl.google.com refused”的问题
- 2021华为悦盒EC6110-T-M-拆机-强刷固件及教程
- 给出问题一个临时解决方案(110224)
- OWASP十大漏洞之一
- h1z1最新消息服务器,h1z1服务器在哪 | 手游网游页游攻略大全
- Echart自适应图表大小和字体大小
- 阅读javascript高级程序设计随笔(五)
- 【MATLAB统计分析与应用100例】案例011:matlab读取Excel数据,调用regress函数作一元线性回归分析
- JSON.stringify 函数 (JavaScript)
- 2.3.1-4. IEEE 754 标准
- LM7805使用总结