- 浏览: 530791 次
- 性别:
- 来自: 青岛
文章分类
- 全部博客 (222)
- 帖子来的 (3)
- JavaScript (25)
- Java (10)
- DataBase (2)
- el表达式 (1)
- html (4)
- FCKEDITOR和TINYMCE (3)
- tomcat (5)
- JavaEE (12)
- Eclipse (7)
- Windows (3)
- Dos命令 (1)
- Oracle (20)
- 乱搞 (1)
- AHK (3)
- TC (2)
- vim (12)
- Perl (13)
- ANT (6)
- Android (3)
- antlr (1)
- SSH (14)
- C/C++ (3)
- wordpress (4)
- CSS (3)
- java2D (1)
- Lucene (4)
- Linux (9)
- jquery (4)
- testsomething (7)
- JVM监控优化 (3)
- emacs (4)
- svn cvs版本控制 (2)
- 硬件 (1)
- j2me (2)
- maven (5)
- WebService (4)
- aspectJ (1)
- 算法 (2)
- mysql (1)
- project (2)
- 正则表达式 (2)
- firefox (1)
最新评论
-
直觉:
gua 顶
com.opensymphony.xwork2.inject.DependencyException -
fordfelix:
加了以后 任然存在这个异常 求解!!
struts2 json 插件 @JSON(serialize = false) -
fangyan_oracle:
谢谢了, 很受用
用IE修改当前页面内容的代码zzzz -
cfying:
[flash=200,200][/flash][url][/u ...
精解window.setTimeout()使用方式与参数传递问题!(转) -
qinglangee:
tiewazi 写道param必须是全局变量(即window对 ...
精解window.setTimeout()使用方式与参数传递问题!(转)
随便写写, 有兴趣就看, 与.net无多大关系.
这几天无聊, 看到了"adsl密码终结者"这个软件, 嗯, 对它的功能不甚满意, 想针对我这里的写一个, 当时考虑用C#, 不过呢, 我对网络传输这块不熟, 还是用比较熟的东西, javascript + xmlhttp, 当时在写的时候, 可能请求的所有网页都是utf-8编码的, 代码一直运行良好, 可是在扫描到某个地址的时候, 总是出现异常, 我搞出来一看, 原来那网页的编码是gb2312的, 以前也曾遇到过类似的问题, 不过, 那时候的解决办法同得用ado.record对像吧, 现在浏览器创建这对象却失败, 只能另外想办法, googl有一通以后, 找到这几个函数,
这两个函数呢, 我花了点时间, 才看懂, 这两个也是网上较为常见的, 但我后来考虑到, 如果我要发送gb2312编码数据怎么办? 于是, 疯狂的搜索, 功夫不负有心人, 被我找到两个函数, 他奶奶的却是vbscript版的, 并且作者也是没有办法, 才用vbscript写的, 呵呵, 这个么, 没办法, 我非常不喜欢vbscript的语法, 决定还是改写成javascript的, 但在几个位置, 不得不承认, vbscript稍微强一点.
这个算是部份原创吧, 相信这两个函数的javascript版本, 不是太多, 反正我是没找到, 也许就我这一家. 嗯, 如果想知道这些函数怎么工作的, 请去了解gb2312是怎么编码, 还有utf-8是怎么对unicode字符进行编码.
以上函数, 在xpsp2 + ie7.0下通过.
原贴地址: http://www.leadbbs.com/a/a.asp?B=205&ID=2668820
这几天无聊, 看到了"adsl密码终结者"这个软件, 嗯, 对它的功能不甚满意, 想针对我这里的写一个, 当时考虑用C#, 不过呢, 我对网络传输这块不熟, 还是用比较熟的东西, javascript + xmlhttp, 当时在写的时候, 可能请求的所有网页都是utf-8编码的, 代码一直运行良好, 可是在扫描到某个地址的时候, 总是出现异常, 我搞出来一看, 原来那网页的编码是gb2312的, 以前也曾遇到过类似的问题, 不过, 那时候的解决办法同得用ado.record对像吧, 现在浏览器创建这对象却失败, 只能另外想办法, googl有一通以后, 找到这几个函数,
//将收到的gb2312编码转换成对应的文字 function gb2utf8(data) { var glbEncode = []; gb2utf8_data = data; execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript"); var t = escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2"); t = t.split("@"); var i = 0, j = t.length, k; while( ++i < j ) { k = t[i].substring(0,4); if(!glbEncode[k]) { gb2utf8_char = eval("0x"+k); execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript"); glbEncode[k] = escape(gb2utf8_char).substring(1,6); } t[i] = glbEncode[k]+t[i].substring(4); } gb2utf8_data = gb2utf8_char = null; return unescape(t.join("%")); } //对文字进行utf-8编码 function utf8(wide) { var c, s; var enc = ""; var i = 0; while(i<wide.length) { c= wide.charCodeAt(i++); // handle UTF-16 surrogates if (c>=0xDC00 && c<0xE000) continue; if (c>=0xD800 && c<0xDC00) { if (i>=wide.length) continue; s= wide.charCodeAt(i++); if (s<0xDC00 || c>=0xDE00) continue; c= ((c-0xD800)<<10)+(s-0xDC00)+0x10000; } // output value if (c<0x80) enc += String.fromCharCode(c); else if (c<0x800) enc += String.fromCharCode(0xC0+(c>>6),0x80+(c&0x3F)); else if (c<0x10000) enc += String.fromCharCode(0xE0+(c>>12),0x80+(c>>6&0x3F),0x80+(c&0x3F)); else enc += String.fromCharCode(0xF0+(c>>18),0x80+(c>>12&0x3F),0x80+(c>>6&0x3F),0x80+(c&0x3F)); } return enc; } var hexchars = "0123456789ABCDEF"; function toHex(n) { return hexchars.charAt(n>>4)+hexchars.charAt(n & 0xF); } var okURIchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-"; function encodeURIComponentNew(s) { var s = utf8(s); var c; var enc = ""; for(var i= 0; i < s.length; i++) { if(okURIchars.indexOf(s.charAt(i))==-1) enc += "%"+toHex(s.charCodeAt(i)); else enc += s.charAt(i); } return enc; }
这两个函数呢, 我花了点时间, 才看懂, 这两个也是网上较为常见的, 但我后来考虑到, 如果我要发送gb2312编码数据怎么办? 于是, 疯狂的搜索, 功夫不负有心人, 被我找到两个函数, 他奶奶的却是vbscript版的, 并且作者也是没有办法, 才用vbscript写的, 呵呵, 这个么, 没办法, 我非常不喜欢vbscript的语法, 决定还是改写成javascript的, 但在几个位置, 不得不承认, vbscript稍微强一点.
//转化成十六进制, 调用的是vbscript的Hex函数 function Hex(n) { c = n; execScript("c = Hex(c)", "vbscript"); return c; } //返回文字的AscaII编码, 调用的是vbscript的Asc函数 function Asc(s) { c = s; execScript("c = Asc(c)", "vbscript"); return c; } //获取文字的gb2312编码 function gb2312Encode(str) { var string = ""; c = s = ""; var high = ""; var low = ""; for(var i = 0; i < str.length; i++) { c = Asc(str.charAt(i)); if(Math.abs(c) < 0xFF) string += str.charAt(i); else { if(c < 0) c += 0x10000; high = ((c & 0xFF00) >> 8) & 0x00FF; low = c & 0xFF; string += "%" + Hex(high) + "%" + Hex(low); } } return string; } //将收到的gb2312编码进行解码 function gb2312Decode(data) { string = ""; str = ""; d = data; n = ""; c = ""; execScript("l = LenB(d)", "vbscript"); execScript("d = MidB(d, 1)", "vbscript"); for( i = 1; i <= l; i++) { execScript("c = AscB(MidB(d, i, 1))", "vbscript"); if( c < 0x80) { execScript("str = Chr(c)", "vbscript"); string += str; } else { execScript("n = AscB(MidB(d, i + 1, 1))", "vbscript"); execScript("str = Chr(CLng(c) * &H100 + CInt(n))", "vbscript"); string += str; i = i + 1; } } return string; }
这个算是部份原创吧, 相信这两个函数的javascript版本, 不是太多, 反正我是没找到, 也许就我这一家. 嗯, 如果想知道这些函数怎么工作的, 请去了解gb2312是怎么编码, 还有utf-8是怎么对unicode字符进行编码.
以上函数, 在xpsp2 + ie7.0下通过.
原贴地址: http://www.leadbbs.com/a/a.asp?B=205&ID=2668820
发表评论
-
有关浏览器的退格键问题(转)
2011-06-24 10:32 3855bbs : http://topic.csdn.net/u/2 ... -
实现jQuery的document.ready功能js代码
2010-09-12 09:15 2866<!DOCTYPE html PUBLIC &quo ... -
改变form 的action时不能用jquery的$("#formId")
2010-07-15 11:55 3152$("#formId").action=& ... -
谷歌的在线翻译API(转)
2010-03-23 16:34 1891谷歌的在线翻译API很好用哈哈 <!DOCTYPE ... -
12种不宜使用的Javascript语法(转载)
2010-01-22 22:13 1070... -
English 背单词
2010-01-12 16:05 1455李老师 跟我攒单词系列的500个单词 <!DOCT ... -
页面定时跳转
2009-11-26 09:51 1408<body> <div id=& ... -
Javascript获得屏幕长度宽度
2009-04-20 22:47 2102网页可见区域宽 document.body.clientWi ... -
document.body.contentEditable='true'
2008-02-21 11:49 7523javascript:document.body.conten ... -
js简单实现div圆角
2008-02-02 15:28 2374原文 http://www.w3pop.com/comm/vi ... -
[JS]slice()方法的使用
2008-02-01 08:45 4677var a; a = new Array("a&q ... -
Ajax::prototype 源码解读 之 prototype.js [转]
2008-01-31 16:23 2094Ajax::prototype 源码解读 之 protot ... -
js鼠标事件大全
2008-01-30 13:59 1880一般事件 事件 浏览器支持 描述 onClick IE ... -
JS操作select相关方法:新增 修改 删除 选中 清空 判断存在 等(转)
2008-01-28 11:32 13881.判断select选项中 是否存在Value="p ... -
js读取文本文件-xmlHTTP
2008-01-16 14:59 3426<html> <head> ... -
xmlhttp 乱码 的解决方法 (UTF8,GB2312 编码 解码)(转)
2008-01-16 13:28 2850用xmlhttp post form时的表单乱码有两方面的原因 ... -
动态添加删除行
2007-12-28 15:04 1259//添加行 function addRow(tableNam ... -
如何用js来判断浏览器类型(ie,firefox)等等(zzz)
2007-12-24 17:06 3085现在网络上的浏览器,操作系统就象中国的方言一样,那个叫多啊!这 ... -
js 兼容(转)
2007-12-24 15:44 15271,document.getElementById替代docu ... -
点击表头排序的几种方法(转)
2007-12-24 15:32 1230我记得老早老早大家就开始在经典讨论表格排序的问题了,过了这么多 ...
相关推荐
### JS实现URL编码转换中文 在Web开发过程中,经常需要处理URL中的特殊字符,特别是中文字符。由于URL传输限制及浏览器解析原因,中文等非ASCII字符需要被编码为特定格式才能在网络上传输。本文将详细介绍如何使用...
在本案例中,我们讨论的主题是利用易语言来实现JavaScript(JS)编码转换的源码。JavaScript是一种广泛应用于Web开发的脚本语言,它在处理字符串编码时扮演着重要角色,尤其是在处理不同字符集和编码格式之间转换时...
- 如果你熟悉编程,Python、Java、Node.js等语言都有库可以处理编码转换,例如Python的`codecs`模块,Java的`Charset`类。 6. **理解编码** - 理解字符编码如ASCII、UTF-8、GBK等的基本概念,以及它们在不同语言...
在"易语言源码易语言JS实现编码转换源码.rar"这个压缩包中,我们找到了一个关于易语言与JavaScript(JS)之间进行编码转换的源码实现。这种编码转换在处理不同字符集和编码格式的数据时非常关键,尤其是在处理多国...
综上所述,JS实现编码转换涉及到了JavaScript的字符串处理、Unicode编码以及可能的第三方库使用。在实际项目中,要充分理解各种编码标准,熟练掌握相关的API和工具,以便在多语言环境下保证数据的正确传输和显示。...
易语言JS实现编码转换源码,JS实现编码转换,decodeURI,encodeURI
`iconv-lite` 是一个纯 JavaScript 实现的字符编码转换库,它不需要任何 C++ 扩展,因此可以在包括 Windows、Linux、Mac OS X 在内的各种平台上无缝工作。这个库主要设计用于解决 Node.js 应用程序在处理多语言或多...
各类编码转换,从unicode 到 Shift-JIS
Quoted-printable编码的数据可以通过以下的伪代码函数进行编码转换: ```pseudo function quoted_printable_encode($string){ return preg_replace('/[^\r\n]{73}[^=\r\n]{2}/', "$0=\r\n", str_replace("%", "=",...
简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个...当然,你也可以将图片、文本和音视频转换成二进制序列,再然后转换为Base64编码。我们这里讨论的是如何将二进制转换
在博文《js的encodeUri编码转换为GBK问题》中,作者可能讨论了如何实现这个转换过程。`GBKUrl.js`这个文件很可能是用来处理GBK编码到URI编码转换的工具脚本。这个脚本可能包含以下功能: 1. 使用`TextDecoder`来...
"js2c#"工具正是一个旨在帮助开发者将JavaScript代码转换为C#代码的实用工具。这个工具的亮点在于它能够将JS代码编译成DLL或EXE文件,使得C#项目可以直接引用这些编译后的库,从而实现跨语言的代码复用。 首先,...
当你看到“易语言JS实现编码转换源码”时,可以理解为这是一个使用易语言编写的程序,该程序的功能是处理JavaScript中的字符编码转换问题。 在编程中,编码转换是一个非常关键的环节,尤其是在处理多国语言或者跨...
但是,如果你需要一个类来处理多种编码转换,可能需要编写自定义代码或者使用第三方库,如压缩包中的"CharsetConv"。 "CharsetConv"类可能包含了以下功能: - 检测字符串的当前编码 - 将字符串从ANSI转换为Unicode...
通过运行该函数,能对提交的文本进行安全转换,防止html字符导致页面格局出错和攻击。
十六进制编码是一种将字符转换为数字表示的方法,尤其在处理非ASCII字符集(如中文)时非常有用。本文将详细介绍如何将中文字符转换成十六进制编码,并通过一个简单的步骤进行演示。 中文字符集主要有GB2312、GBK、...
总的来说,“web js转换简体繁体”插件的核心是利用JavaScript和相关库进行字符编码转换。通过理解和应用这些技术,开发者可以轻松地在网页中添加简体繁体转换功能,为用户提供更贴心的浏览体验。
标签中的“js”表明这个转换工具可能包含了JavaScript实现的部分,JavaScript是一种广泛用于Web开发的脚本语言,可以用于客户端的交互逻辑,例如在浏览器中进行编码转换。这可能意味着convertz8.02提供了JavaScript...
网页文件编码转换是一个重要的IT领域话题,特别是在处理多种语言或者跨平台内容时。批量转换网页文件编码工具就是为了解决这一问题而设计的。这类工具能够有效地帮助用户将大量HTML、CSS、JavaScript或其他类型的...
在这个“url编码转换器”中,我们可以看到它主要服务于将这些特殊字符转换为它们在网络传输中安全的表示形式。 在URL中,非字母数字的字符通常会被转换为"%xy"的形式,其中xy是该字符在ASCII码表中的16进制表示。...