- 浏览: 137902 次
- 性别:
- 来自: 北京
文章分类
最新评论
<script language="vbscript">
Function str2asc(strstr)
str2asc = hex(asc(strstr))
End Function
Function asc2str(ascasc)
asc2str = chr(ascasc)
End Function
</script>
<script language="javascript">
/*这里开始时UrlEncode和UrlDecode函数*/
function UrlEncode(str){
var ret="";
var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
for(var i=0;i<str.length;i++){
var chr = str.charAt(i);
var c=str2asc(chr);
if(parseInt("0x"+c) > 0x7f){
ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
}else{
if(chr==" ")
ret+="+";
else if(strSpecial.indexOf(chr)!=-1)
ret+="%"+c.toString(16);
else
ret+=chr;
}
}
return ret;
}
function UrlDecode(str){
var ret="";
for(var i=0;i<str.length;i++){
var chr = str.charAt(i);
if(chr == "+"){
ret+=" ";
}else if(chr=="%"){
var asc = str.substring(i+1,i+3);
if(parseInt("0x"+asc)>0x7f){
ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6)));
i+=5;
}else{
ret+=asc2str(parseInt("0x"+asc));
i+=2;
}
}else{
ret+= chr;
}
}
return ret;
}
</script>
================================
方法二:
function URLEncode(plaintext)
{
// The Javascript escape and unescape functions do not correspond
// with what browsers actually do...
var SAFECHARS = "0123456789" + // Numeric
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetci
"abcdefghijklmnopqrstuvwxyz" +
"-_.!~*'()"; // RFC2396 Mark characters
var HEX = "0123456789ABCDEF";
var encoded = "";
for (var i = 0; i < plaintext.length; i++ ) {
var ch = plaintext.charAt(i);
if (ch == " ") {
encoded += "+"; // x-www-urlencoded, rather than %20
} else if (SAFECHARS.indexOf(ch) != -1) {
encoded += ch;
} else {
var charCode = ch.charCodeAt(0);
if (charCode > 255) {
alert( "Unicode Character '" + ch + "' cannot be encoded using standard URL encoding.\n" +
"(URL encoding only supports 8-bit characters.)\n" +
"A space (+) will be substituted." );
encoded += "+";
} else {
encoded += "%";
encoded += HEX.charAt((charCode >> 4) & 0xF);
encoded += HEX.charAt(charCode & 0xF);
}
}
} // for
return encoded;
}
function URLDecode(encoded)
{
// Replace + with ' '
// Replace %xx with equivalent character
var plaintext = "";
var i = 0;
while (i < (encoded.length-2)) {
var ch = encoded.charAt(i);
if (ch == "+") {
plaintext += " ";
i++;
} else if (ch == "%" && encoded.charAt(i+1) != "%") {
plaintext += unescape( encoded.substr(i,3) );
i += 3;
} else {
plaintext += ch;
i++;
}
} // while
if (i < encoded.length) {
plaintext += encoded.substr(i,encoded.length-i);
}
return unescape(plaintext);
}
Function str2asc(strstr)
str2asc = hex(asc(strstr))
End Function
Function asc2str(ascasc)
asc2str = chr(ascasc)
End Function
</script>
<script language="javascript">
/*这里开始时UrlEncode和UrlDecode函数*/
function UrlEncode(str){
var ret="";
var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
for(var i=0;i<str.length;i++){
var chr = str.charAt(i);
var c=str2asc(chr);
if(parseInt("0x"+c) > 0x7f){
ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
}else{
if(chr==" ")
ret+="+";
else if(strSpecial.indexOf(chr)!=-1)
ret+="%"+c.toString(16);
else
ret+=chr;
}
}
return ret;
}
function UrlDecode(str){
var ret="";
for(var i=0;i<str.length;i++){
var chr = str.charAt(i);
if(chr == "+"){
ret+=" ";
}else if(chr=="%"){
var asc = str.substring(i+1,i+3);
if(parseInt("0x"+asc)>0x7f){
ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6)));
i+=5;
}else{
ret+=asc2str(parseInt("0x"+asc));
i+=2;
}
}else{
ret+= chr;
}
}
return ret;
}
</script>
================================
方法二:
function URLEncode(plaintext)
{
// The Javascript escape and unescape functions do not correspond
// with what browsers actually do...
var SAFECHARS = "0123456789" + // Numeric
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetci
"abcdefghijklmnopqrstuvwxyz" +
"-_.!~*'()"; // RFC2396 Mark characters
var HEX = "0123456789ABCDEF";
var encoded = "";
for (var i = 0; i < plaintext.length; i++ ) {
var ch = plaintext.charAt(i);
if (ch == " ") {
encoded += "+"; // x-www-urlencoded, rather than %20
} else if (SAFECHARS.indexOf(ch) != -1) {
encoded += ch;
} else {
var charCode = ch.charCodeAt(0);
if (charCode > 255) {
alert( "Unicode Character '" + ch + "' cannot be encoded using standard URL encoding.\n" +
"(URL encoding only supports 8-bit characters.)\n" +
"A space (+) will be substituted." );
encoded += "+";
} else {
encoded += "%";
encoded += HEX.charAt((charCode >> 4) & 0xF);
encoded += HEX.charAt(charCode & 0xF);
}
}
} // for
return encoded;
}
function URLDecode(encoded)
{
// Replace + with ' '
// Replace %xx with equivalent character
var plaintext = "";
var i = 0;
while (i < (encoded.length-2)) {
var ch = encoded.charAt(i);
if (ch == "+") {
plaintext += " ";
i++;
} else if (ch == "%" && encoded.charAt(i+1) != "%") {
plaintext += unescape( encoded.substr(i,3) );
i += 3;
} else {
plaintext += ch;
i++;
}
} // while
if (i < encoded.length) {
plaintext += encoded.substr(i,encoded.length-i);
}
return unescape(plaintext);
}
发表评论
-
javaScript实现的 数据库
2014-11-06 17:17 15691、LokiJS LokiJS一个基于J ... -
xss攻击
2013-12-27 11:54 587解决方案与建议: 严格过滤用户所能提交的任何数据,特别是能执 ... -
js技巧
2013-08-02 09:02 1716· 事件源对象 event.srcElement.tagNa ... -
jquery combox实现联动效果
2013-05-18 05:15 723需求方要求 所以就想法实现此效果 经过两个小时的看源码、修改、 ... -
jQuery easyui 1.2.5 window、dialog发送两边请求(转)
2013-05-04 12:02 961jQuery easyui 1.2.5 window、dial ... -
跨域问题
2013-05-01 10:04 801可以采用JQuery的getJSON、get方法以JSONP的 ... -
js的base64
2013-04-11 10:55 729var Base64 = { // private prop ... -
用户访问超时
2012-07-09 17:11 1900用户访问超时 解决两种情况下的用户访问超时。 a)普通ht ... -
jQuery 禁止右键
2012-07-03 14:38 1873用jquery实现你的网站不能右键,很简短的代码: $('b ... -
js技巧
2012-06-12 17:08 7641、jquey查找iframe父页面的标签 $('#id' ... -
jquery easyui -datagrid(悬浮,隐藏)(转)
2012-05-30 16:33 0对于jquery easyui 的datagrid引用碰到了几 ... -
GridView脚注行添加合计,并设置背景图片
2011-09-30 11:00 4119以前在做GridView ... -
ExtJS表格
2011-09-30 10:58 27471. 简单表格控件 (由类Ext.grid.GridPane ... -
行渲染和列渲染
2011-09-30 10:57 1317一,单元格渲染 单元格是最终显示的数据地方,它是根据列定义 ... -
ExtJS表格——行号、复选框、选择模型
2011-09-30 10:57 6221一、 设置行号 行号的设置主要问题在于删除某一行后需要重新 ... -
cookie
2011-09-26 10:02 1109/** * * 获取cookie的值 * @para ... -
js结构语句
2011-09-25 11:02 8501 if 条件语句(可嵌套) 2 if....else 条件 ... -
js循环语句
2011-09-25 10:56 17581 for循环结构语句(可以嵌套); 2 for-in 循环 ... -
使用with语句进行对象操作
2011-09-25 10:45 873在js语言中,with语句是一个内容很少的语句,在程序中多次使 ... -
Iframe
2011-09-23 21:14 8001、Iframe子页面调用父页面函数 window.pare ...
相关推荐
### JS实现URL编码转换中文 在Web开发过程中,经常需要处理URL中的特殊字符,特别是中文字符。由于URL传输限制及浏览器解析原因,中文等非ASCII字符需要被编码为特定格式才能在网络上传输。本文将详细介绍如何使用...
总结来说,纯JavaScript实现GBK URL编解码涉及到的关键技术点包括GBK编码和解码、URL编码和解码,以及可能的Base64编码和解码。实际实现时,可能需要结合第三方库或自定义函数来处理GBK编码,同时充分利用JavaScript...
JavaScript 对 URL 编码解码 JavaScript 中对 URL 编码和解码涉及到六个函数:escape、encodeURI、encodeURIComponent、unescape、decodeURI 和 decodeURIComponent。这六个函数的使用场景和特点分别是: escape ...
在实际编程中,大多数编程语言都提供了内置函数来自动进行URL编码和解码,如JavaScript的`encodeURIComponent()`和`decodeURIComponent()`,Python的`urllib.parse.quote()`和`urllib.parse.unquote()`等。...
这个名为“一个简单url编码解码”的项目,就是为新手提供了一个理解和实践URL编码与解码机制的实例。 URL编码是根据RFC 3986标准进行的,主要使用百分号(%)表示非ASCII字符或特殊字符的ASCII十六进制值。例如,...
在实际应用中,URL编码不仅限于手动操作,许多编程语言如JavaScript、Python、Java等都提供了内置函数来自动处理URL编码和解码。例如,JavaScript中的`encodeURIComponent()`和`decodeURIComponent()`函数,可以方便...
所以就自己写了一个JavaScript脚本 进行URL编码。原理就是先把unicode字符串转换成BASE64编码文本。然后把base64文本传递到js脚本里面的一个函数内。js函数把base64编码还原成unicode的数据 然后直接调用URL编码...
本文将深入探讨URL编码与解码的概念,以及如何在编程中实现这些操作。 URL编码是将URL中可能引起问题的字符转换为ASCII字符集的等效百分号编码。这包括空格、非ASCII字符以及某些特殊字符,如大括号、引号、尖括号...
2. encodeURI()是javascript中真正用来对URL编码的函数。编码整个URL地址,但对特殊含义的符号”;/?:@&=+$,#”,也不进行编码。对应的解码函数是decodeURI()。 3. encodeURIComponent()能编码”;/?:@&=+$,#”这些...
URL编码遵循统一资源标识符(URI)的规则,其中最常用的是基于百分号(%)的编码方法。每个非ASCII或特殊字符会被替换为"%xy"的形式,其中xy是该字符在UTF-8编码中的两个字节的十六进制表示。例如,空格字符(ASCII...
在一些开源项目中,可以查看到URL编码的具体实现代码,如JavaScript的实现可能涉及到 `Buffer` 对象和 `toString('hex')` 方法。 **编码与解码**: 1. **编码**:将非ASCII字符或特殊字符转换为百分号编码的过程。...
在IT行业中,URL编码(又称为百分号编码)是一种用于在网络应用中表示非ASCII字符或特殊字符的标准。这种编码方式是HTTP协议的一部分,确保数据可以在URL中安全传输。本话题将详细探讨“url编码解码源代码”,以及...
例如,Apache Commons Lang库提供了`StringEscapeUtils`类,用于对字符串进行编码和解码,包括URL编码。此外,Java的`java.net.URLDecoder`和`java.net.URLEncoder`类也提供了URL编码和解码的功能。 文件的编码方式...
本文将详细讲解"codeURL编码解码工具"的相关知识点,包括URL编码的原理、用途以及如何使用这类工具进行编码和解码。 URL(Uniform Resource Locator)即统一资源定位符,是互联网上的资源地址。它由协议类型、主机...
在实际操作中,开发者通常会使用编程语言提供的内置函数进行URL编码和解码,例如JavaScript的`encodeURIComponent()`和`decodeURIComponent()`,Python的`urllib.parse.quote()`和`urllib.parse.unquote()`,Java的`...
8. **安全考量**:URL编码也可以用于防止跨站脚本攻击(XSS),通过编码恶意输入,可以避免这些输入被浏览器错误解析为HTML或JavaScript代码,从而提高应用的安全性。 总结起来,URL编码解码是网络通信的基础,对于...
在编程语言中,如JavaScript、Python、Java等,都有内置函数可以方便地对字符串进行URL编码和解码。例如,JavaScript的`encodeURIComponent()`和`decodeURIComponent()`函数,Python的`urllib.parse.quote()`和`...
这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。...在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决
URL编码是一种在网络应用中将特殊字符转换为安全的ASCII字符序列的过程,以确保URL的正确传输和解析。URL,全称Uniform Resource Locator,是统一资源定位符,是互联网上资源的唯一地址。实际上,URL是URI(统一资源...