今天在整理 js编码解码方法时,在网上搜资料,发现一篇文章讲的不错,讲解的非常简单明了,于是乎就想转载过来,却发现无法转载到博客园,最后只能卑鄙的摘抄过来。js编码解码就是将一些对URL和数据库敏感的在使用时容易被过滤掉,或者容易对数据库造成注入威胁的字符串进行编码,在使用时再进行解码,原理很简单用法也很简单,正好下面这篇文章讲解的非常明了利索。原文地址是http://blog.csdn.net/wwwchenbing/article/details/3409183,希望作者不要告我侵权。

1. escape()

返回一个可在所有计算机上读取的编码 String 对象
function escape(charString : String) : String
参数:charString
必选:要编码的任何 String 对象或文本。
备注:
escape 方法返回一个包含 charstring 内容的字符串值(Unicode 格式)。所有空格、标点、重音符号以及任何其他非 ASCII 字符都用 %xx 编码替换,其中 xx 等于表示该字符的十六进制数。例如,空格返回为“%20”。
字符值大于 255 的字符以 %uxxxx 格式存储。
注意 escape 方法不能用来对“统一资源标识符”(URI) 进行编码。对其编码应使用 encodeURI 和 encodeURIComponent 方法。(继续往下看)
适用于:Global 对象

2.encodeURI()
返回编码为有效的统一资源标识符 (URI) 的字符串。
function encodeURI(URIString : String) : String
参数:URIString
必选:表示编码 URI 的字符串。
备注:
encodeURI 方法返回一个已编码的 URI。如果将编码结果传递给 decodeURI,则将返回初始的字符串。encodeURI 不对下列字符进行编码:“:”、“/”、“;”和“?”。请使用 encodeURIComponent 对这些字符进行编码。
适用于:Global 对象

3.encodeURIComponent() 
返回编码为统一资源标识符 (URI) 的有效组件的字符串。
function encodeURIComponent(encodedURIString : String) : String
参数:encodedURIString。
必选:表示编码 URI 组件的字符串。
备注:
encodeURIComponent 方法返回一个已编码的 URI。如果将编码结果传递给 decodeURIComponent,则将返回初始的字符串。因为 encodeURIComponent 方法将对所有字符编码,请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,则其中的斜杠也将被编码,这样,当该字符串作为请求发送到 Web 服务器时它将是无效的。如果字符串中包含多个 URI 组件,请使用 encodeURI 方法进行编码。
适用于:Global 对象

下面对应的是相应的解码方法
1.unescape()
从用 escape 方法编码的 String 对象中返回已解码的字符串。
function unescape(charString : String) : String
参数:charString
必选:要解码的 String 对象或文本。
备注:
unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集当中等效的字符代替。
以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替。
注意 unescape 方法不应用于解码“统一资源标识符”(URI)。请改用 decodeURI 和 decodeURIComponent 方法。
适用于:Global 对象

2.decodeURI()
返回一个已编码的统一资源标识符 (URI) 的非编码形式。
function decodeURI(URIstring : String) : String
参数:URIstring
必选:表示编码 URI 的字符串。
备注:
使用 decodeURI 方法代替已经过时的 unescape 方法。
decodeURI 方法返回一个字符串值。
如果 URIString 无效,将发生 URIError。
适用于:Global 对象

3.decodeURIComponent()
返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。
function decodeURIComponent(encodedURIString : String) : String
必选: encodedURIString 参数是一个表示已编码的 URI 组件的值。
备注:
URIComponent 是一个完整的 URI 的一部分。
如果 encodedURIString 无效,则将产生 URIError。

如果要查看编码后的效果,可把编码结果赋予一个变量,用下面方法查看:

1.alert();                        弹出对话框

2.document.write();       写入到文档,位置自己选

3.console.log();              fifebug查看

JS编码解码详解的更多相关文章

  1. PHP和javascript中url编码解码详解

    在实际开发中,我们可能会遇到路径编码解码的问题,下面总结了一下: PHP中: 1.urlencode(编码),urldecode(解码) $a = urlencode('http://www.baid ...

  2. js编码方式详解

    escape.encodeURI 和encodeURIComponent 的区别 escape(), encodeURI()和encodeURIComponent()是在Javascript中用于编码 ...

  3. javascript中的Base64.UTF8编码与解码详解

    javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...

  4. ES6,ES2105核心功能一览,js新特性详解

    ES6,ES2105核心功能一览,js新特性详解 过去几年 JavaScript 发生了很大的变化.ES6(ECMAScript 6.ES2105)是 JavaScript 语言的新标准,2015 年 ...

  5. JPEG文件编/解码详解

    JPEG文件编/解码详解(1) JPEG(Joint Photographic Experts Group)是联合图像专家小组的英文缩写.它由国际电话与电报咨询委员会CCITT(The Interna ...

  6. 协议分析 - DHCP协议解码详解

    协议分析 - DHCP协议解码详解 [DHCP协议简介]         DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...

  7. 《Node.js开发实战详解》学习笔记

    <Node.js开发实战详解>学习笔记 ——持续更新中 一.NodeJS设计模式 1 . 单例模式 顾名思义,单例就是保证一个类只有一个实例,实现的方法是,先判断实例是否存在,如果存在则直 ...

  8. Js apply 方法 详解

    Js apply方法详解 我在一开始看到JavaScript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这 ...

  9. C# 对JS编码/解码进行转换

    public static class Extension { #region [编码/解码统一转换] /// <summary> /// /// </summary> /// ...

随机推荐

  1. BZOJ 1560 火星藏宝图(DP)

    思路:发现如果从A能到B,B能到C,那么一定A能到C,且根据不等式:A^2+B^2<=(A+B)^2,而且权值没有负数,因此经过B比不经过B要优,因此,我们从左上到右下做,每一列,我们只记录之前 ...

  2. bzoj1004 Cards

    Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给出了答案.进一步,小春要求染出Sr张红 ...

  3. LeetCode_Palindrome Partitioning

    Given a string s, partition s such that every substring of the partition is a palindrome. Return all ...

  4. fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .

    fragment中嵌套viewpager,vierpager中有多个fragment,不显示 ... 现在好多应用流行一种布局.底部几个工具栏选项,上面也有类似tab的选项. 底部用RadioGrou ...

  5. idea

    一. 常用快捷键 搜索class Ctrl+N 搜索文件 Ctrl+Alt+N 当前窗口查找/全工程查找 Ctrl+F/Ctrl+Shift+F,F3/Shift+F3前后移动 上/下一个位置 Ctr ...

  6. Digit Stack

    Digit Stack In computer science, a stack is a particular kind of data type or collection in which th ...

  7. paip.Adblock屏蔽onlinedown华军软件园的4秒下载广告总结..

    paip.Adblock屏蔽onlinedown华军软件园的4秒下载广告总结..      作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址 ...

  8. 后台数据导出为Excel

    数据导出的方法如下: 一.下载office的类库:microsoft.office.interop.excel.zip 根据电脑安装的office版本选择引入相应的类库,office2007选择12. ...

  9. Spark Streaming--实战篇

    摘要:      Sprak Streaming属于Saprk API的扩展,支持实时数据流(live data streams)的可扩展,高吞吐(hight-throughput) 容错(fault ...

  10. linux学习方法之二

    相信不少想学习linux的新手们正愁不知道看什么linux学习教程好,下面小编给大家收集和整理了几点比较重要的教程,供大家学习,如需想学习更多的话,可到wdlinux学堂寻找更多教程. 安装php扩展 ...