标题: [转载代码] hta 实现的字符编码速查 [打印本页]
作者: CrLf 时间: 2014-8-17 17:23 标题: hta 实现的字符编码速查
代码为转载
作范例不错,功能也比较实用- <!DOCTYPE html>
- <!-- saved from url=(0006)about: -->
- <!-- vim:set tabstop=4 shiftwidth=4 : -->
- <html>
- <head>
- <hta:application innerborder=0 scroll=0 selection=0 />
- <meta http-equiv=content-type content='charset=gb2312' />
- <meta http-equiv=msthemecompatible content=yes />
- <title>字符编码GBK和Unicode</title>
- <style>
- span{font:14px bold verdana;color:green;}
- textarea {width:100%;height:100px;}
- .decorate {border:1px solid #C7E2F1;padding:2px 4px;font:12px consolas;display:inline;float:right;}
- .decorate input {width:50px;}
- .ps {font:12px consolas;color:#6A5ACD;}
- /*label {margin-top:-19px;position:relative;vertical-align:top;padding-top:8px;}*/
- label {display:inline-block;height:19px;}
-
- .signature {color:green;text-align:right;position:absolute;bottom:5px;right:20px;font:14px/20px consolas,verdana,宋体;}
- .signature A:hover {color:red;}
- </style>
- <script language="JavaScript">
-
- var blue='blue',red='red',green='green',black='black',gray='gray';
- Object.prototype.echo=function(c){document.write(this.toString().fontcolor(c||'black')+'<br>')};
- String.prototype.Echo=function(c){document.write(('<xmp>'+this.toString()+'</xmp>').fontcolor(c||'black'))};
- function $(d){return document.getElementById(d);}
- document.onkeydown=function(){
- var ESC=27;
- switch(event.keyCode){
- case ESC: window.close();break;
- }
- }
- Array.prototype.format=function(prefix,suffix,delimit){
- return prefix+this.join(suffix+delimit+prefix)+suffix;
- }
- </script>
- </head>
-
- <script language="vbs">
- Function GBK(ch)
- GBK = Hex(Asc(ch))
- End Function
-
- Function Unicode(ch)
- Unicode = Hex(AscW(ch))
- End Function
- </script>
- <body>
-
- <textarea id=input >我是谁?</textarea><br><br>
- <div class=decorate>
- 前缀:<input name=detect data=prefix1 >
- 后缀:<input name=detect data=suffix1 >
- 分隔:<input name=detect data=delimit1 value=, >
- <label for=Hex1>Hex:<input id=Hex1 type=checkbox checked=true ></label>
- </div>
- <span>GBK:</span>
- <br>
- <textarea id=out1></textarea> <br>
-
- <div class=decorate>
- 前缀:<input name=detect data=prefix2 >
- 后缀:<input name=detect data=suffix2 >
- 分隔:<input name=detect data=delimit2 value=, >
- <label for=Hex2>Hex:<input id=Hex2 type=checkbox checked=true ></label>
- </div>
- <span>Unicode:</span><br>
- <textarea id=out2></textarea>
- <div class=ps>
- 注: <a href=# onclick=ALT() title="按住alt键,同时按小键盘的数字,即可打出对应的字符">Alt+Num</a> 是十进制GBK<br>
- <a href=# onclick=HTM(0) title="写在html源文件里面,显示出来会是对应的字符">html中&#+Num</a> 是十进制Unicode,也可以是<a href=# onclick=HTM(1)>x+十六进制</a>,
- </div>
- <script type="text/javascript">
- resizeTo(550,510);
- var prefix1='',suffix1='',delimit1='',hex1=0,
- prefix2='',suffix2='',delimit2='',hex2=0;
- var arr1=[],arr2=[];
- input.onpropertychange=function change(x){
- if(input.value=="")return;
- var str=input.value;arr1=[],arr2=[];
- for(var i=0;i<input.value.length;i++){
- arr1.push(GBK(str.substr(i,1)));
- arr2.push(Unicode(str.substr(i,1)));
- if(!hex1)arr1[i]=parseInt(arr1[i],16);
- if(!hex2)arr2[i]=parseInt(arr2[i],16);
- }
- if(x!=2)out1.value=arr1.format(prefix1,suffix1,delimit1);
- if(x!=1)out2.value=arr2.format(prefix2,suffix2,delimit2);
- }
- function changeHex(){
- if(this.id.indexOf('1')>-1){
- hex1=this.checked;
- change(1);
- }else{
- hex2=this.checked;
- change(2);
- }
- }
- function changeDecorate(){
- //alert(this.data+'="'+this.value+'";');
- eval(this.data+'="'+this.value+'";');
- if(this.data.indexOf('1')>-1){
- out1.value=arr1.format(prefix1,suffix1,delimit1);
- }else{
- out2.value=arr2.format(prefix2,suffix2,delimit2);
- }
-
- }
- Hex1.onpropertychange=changeHex;
- Hex2.onpropertychange=changeHex;
- var detects=document.getElementsByName("detect");
- //alert(detects.length);
- for(var i=0;i<detects.length;i++){
- //detects[i].value=i;
- detects[i].onpropertychange=changeDecorate;
- }
- function HTM(hex){
- Hex2.checked=hex;
- out2.value=arr2.format(hex?'&#x':'&#',';','');
- }
- function ALT(){
- Hex1.checked=false;
- out1.value=arr1.format('','',',');
- }
- input.focus();
-
-
- //var a=[1,2,3];
- //a.format('S','E',',').echo();
- </script>
-
- <div class="signature"><a href="http://hi.baidu.com/%E6%84%9A%E4%BA%BA%E9%99%88/">yurenchen</a> 2012/2/3</div>
- </div>
- </body>
- </html>
复制代码
作者: CrLf 时间: 2014-8-17 19:42
貌似是从愚人陈的空间里弄来的,不知道他是不是自己写的...
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |