Created
August 12, 2014 15:30
-
-
Save Jeff2Ma/f9181801942a8f1f5c8d to your computer and use it in GitHub Desktop.
Javascript 汉字编码转换
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml"> | |
<head> | |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
<title>Untitled Document</title> | |
<style type="text/css"> | |
<!-- | |
.btn{ | |
font-family: Verdana, Arial, Helvetica, sans-serif; | |
font-size: 12px; | |
color: #666666; | |
text-align: left; | |
text-decoration: none; | |
display: block; | |
overflow: visible; | |
margin-right: 10px; | |
margin-left: 10px; | |
} | |
.btn a:hover { | |
background-color: #d8dfea; | |
border-top-width: 1px; | |
border-bottom-width: 1px; | |
border-top-style: solid; | |
border-bottom-style: solid; | |
border-top-color: #333366; | |
border-bottom-color: #333366; | |
} | |
.btn a { | |
display: block; | |
text-decoration: none; | |
color: #666666; | |
border-top-width: 1px; | |
border-bottom-width: 1px; | |
border-top-style: solid; | |
border-bottom-style: solid; | |
border-top-color: #CCCCCC; | |
border-bottom-color: #CCCCCC; | |
width: 100px; | |
padding-top: 5px; | |
padding-right: 10px; | |
padding-bottom: 5px; | |
padding-left: 30px; | |
overflow: visible; | |
float: left; | |
} | |
html { | |
font-family: Verdana, Arial, Helvetica, sans-serif; | |
font-size: 12px; | |
color: #333333; | |
line-height: 18px; | |
margin: 0px; | |
} | |
--> | |
body{ | |
margin:0px; | |
} | |
</style> | |
</head> | |
<body> | |
<p> | |
<textarea name="source" rows="14" id="source" style="width:99%">中华人民共和国万岁 | |
中華人民共和國萬歲 | |
\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD\u4E07\u5C81 | |
\u4E2D\u83EF\u4EBA\u6C11\u5171\u548C\u570B\u842C\u6B72 | |
</textarea> | |
</p> | |
<div class="btn"> | |
<a href="javascript:action('CONVERT_FMT1')"> | |
<strong>Convert</strong><br /> | |
Fmort &#xxxx </a></div> | |
<div class="btn"> | |
<a href="javascript:action('CONVERT_FMT2')"> | |
<strong>Convert</strong><br /> | |
Fmort \uxxxx | |
</a> | |
</div> | |
<div class="btn"> | |
<a href="javascript:action('RECONVERT')"> | |
<strong>ReConvert</strong><br /> | |
To 汉字 </a> | |
</div> | |
<p> | |
<div id="tt" style="display:none"></div> | |
<textarea name="show2" rows="14" id="show2" style="width:99%"></textarea> | |
</p> | |
</body> | |
</html> | |
<script language="javascript" type="text/javascript"> | |
var oSource = document.getElementById("source"); | |
var oShow2 = document.getElementById("show2"); | |
var oTt = document.getElementById("tt"); | |
function action(pChoice){ | |
switch(pChoice){ | |
case "CONVERT_FMT1": | |
oShow2.value = ascii(oSource.value); | |
break; | |
case "CONVERT_FMT2": | |
oShow2.value = unicode(oSource.value); | |
break; | |
case "RECONVERT": | |
oShow2.value = reconvert(oSource.value); | |
break; | |
} | |
} | |
function ascii(str){ | |
return str.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"\&#x$2;")}); | |
} | |
function unicode(str){ | |
return str.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"\\u$2")}); | |
} | |
function reconvert(str){ | |
str = str.replace(/(\\u)(\w{4})/gi,function($0){ | |
return (String.fromCharCode(parseInt((escape($0).replace(/(%5Cu)(\w{4})/g,"$2")),16))); | |
}); | |
str = str.replace(/(&#x)(\w{4});/gi,function($0){ | |
return String.fromCharCode(parseInt(escape($0).replace(/(%26%23x)(\w{4})(%3B)/g,"$2"),16)); | |
}); | |
return str; | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
拷贝代码并另存为HTML页面,即可使用。