博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 实现 php urlencode_javascript对php urlencode()函数生成的编码进行解码的办法
阅读量:5011 次
发布时间:2019-06-12

本文共 1020 字,大约阅读时间需要 3 分钟。

下面的javascript函数可以对php urlencode函数生成的编码做解码操作:

function urldecode(encodedString){

var output = encodedString;

var binVal, thisString;

var myregexp = /(%[^%]{2})/;

function utf8to16(str)

{

var out, i, len, c;

var char2, char3;

out = "";

len = str.length;

i = 0;

while(i < len)

{

c = str.charCodeAt(i++);

switch(c >> 4)

{

case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:

out += str.charAt(i-1);

break;

case 12: case 13:

char2 = str.charCodeAt(i++);

out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));

break;

case 14:

char2 = str.charCodeAt(i++);

char3 = str.charCodeAt(i++);

out += String.fromCharCode(((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0));

break;

}

}

return out;

}

while((match = myregexp.exec(output)) != null

&& match.length > 1

&& match[1] != '')

{

binVal = parseInt(match[1].substr(1),16);

thisString = String.fromCharCode(binVal);

output = output.replace(match[1], thisString);

}

output = output.replace(/\\+/g, " ");

output = utf8to16(output);

return output;

}

转载地址:http://hlggp.baihongyu.com/

你可能感兴趣的文章
字段和属性的区别
查看>>
HTTP(一)工作机制
查看>>
条形码扫描枪数据读取的问题
查看>>
$this->autoRender = false
查看>>
健壮的 Java 基准测试
查看>>
phpstorm查看类的继承关系
查看>>
git create clone(仓库)
查看>>
chmod修改文件权限的命令
查看>>
新博客牵至简书
查看>>
矩阵求逆
查看>>
在 Windows 8、Windows 10 桌面模式下的 .NET Framework 程序中,引用 Windows.Runtime 的 API。...
查看>>
2015 8月24号 工作计划与实行
查看>>
MVC AJAX
查看>>
Google Map API V3开发(6) 代码
查看>>
Kafka初入门简单配置与使用
查看>>
第三章Git使用入门
查看>>
Amd,Cmd, Commonjs, ES6 import/export的异同点
查看>>
cocos2dx-Lua与Java通讯机制
查看>>
上下文管理器之__enter__和__exit__
查看>>
android3.2以上切屏禁止onCreate()
查看>>