Javascript编码解码以及其他一切

escape

编码字符串,将特定字符替换为十六进制表示的转义串。

语法

escaped = escape(regular);
  • escaped是被编码了的字符串
  • regular是原始字符串

示例

alert(escape("http://www.cnn.com")); // 显示: http%3A//www.cnn.com

注意

excape()方法将特殊字符转变为十六进制的字符表示,这对于作为cookie值非常有必要。同样的,在传递name=value对的URL钟,和GET/POST的AJAX方法中,编码也十分必要。

它编码所有特殊字符,除了这些: * @ - _ + . /

encodeURI

将同一资源标识符的每个utf-8字符用一个,两个,三个或者四个转义字符串表示(每个转移字符串格式为%XX)

语法

encodeURI(URI)

参数

URI
完整的同一资源标识符

详细介绍

encodeURI并不编码在同一资源标识符中含有特殊含义的字符。

它通过合适的UTF-8转义序列替换所有字符,除了以下字符:

Type Includes
Reserved characters ; , / ? : @ & = + $
Unescaped characters alphabetic, decimal digits, - _ . ! ~ * ' ( )
Score #

注意encodeURI自身并不能形成合适的HTTP GET和POST请求,因为对于像XMLHTTPRequest这样的请求中出现的"&","+"和"="并没有被编码,而这些字符在请求中是具有特殊含义的。可以使用encodeURIComponent执行这些操作。

encodeURIComponent

将同一资源标识符中的请求参数单元的每个utf-8字符用一个,两个,三个或者四个转义字符串表示(每个转移字符串格式为%XX)

Core Global Method
Implemented inJavaScript ?
ECMAScript EditionECMAScript 3rd Edition

语法

var encoded = encodeURIComponent(str);

参数

str
统一资源标识符中的请求参数

详细描述

encodeURIComponent转义除后面这些字符的所有字符:字母 数字 - _ . ! ~ * ' ( )

为避免向服务器发送不可预测的请求,你应该调用encodeURIComponent来转义用户输入的每个作为URI请求的参数。例如,用户输入 "Thyme &time=again"作为变量comment的值,不使用encodeURIComponent使得结果为comment=Thyme%20&time=again。从而新增属性time。

对于application/x-www-form-urlencoded (POST),空格将被替换为'+',所以如果你想模仿这种传输类型,需要将"%20"替换为"+"


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值