javascript中的字符串编码转换

来源:互联网 发布:网络运行商 编辑:程序博客网 时间:2024/05/22 15:37

起因:

自定义的一个spider在抓取来的数据中,有各式各样的数据存储编码,有些编码是 /uxxxx/uxxxx 的方式,这就涉及到一个unicode到可见字符的转换,比如转换为gb2312,这样才能方便我们离开浏览器后也能阅读。

(原文链接 http://ddbiz.com/?p=194)

在网上找了很多次方面的编码转换对照表,不过几乎没有一个完整,所以自己整理了一份,希望对大家有帮助。它包含了符号,部分日韩假名;简体;繁体;全角符号等等共涉及2万多个字符。

 

 

js下的使用方式:

 

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="robots" content="all" />
<meta name="author" content="suvi;http://www.askac.net/" />
<meta name="copyright" content="知识共享署名-非商业性使用-相同方式共享" />
<title>unicode decode to gb2312</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/unigb.js"></script>
</head>
<body>
 <span>本转换包括识别简体和繁体</span>
 <table>
  <tr>
   <td><span>请输入需要解码的UNI.文字</span></td><td></td><td>转换结果(GB<GBK,BIG5>)</td>
  </tr>
   <tr>
    <td><textarea id="unicode" name="unicode" cols="40" rows="20"></textarea></td>
    <td><button id="trans">Uni.<br/>=><br/>gb2312</button></td>
    <td><textarea id="gb2312" name="gb2312" cols="40" rows="20"></textarea></td>
   </tr>
 </table>
<script type="text/javascript">
$(document).ready(function(){
 $("#trans").click(function(){
  var unitxt = $("#unicode").val();
  var gbtxt = unitxt;
  var ureg = //b/u([a-f0-9]{4})/b/gim;
  while( (m = ureg.exec(unitxt)) != null)
  {
   var v = m[1].toLowerCase();
   gbtxt = gbtxt.replace('//'+m[0], c[v]);
  }
  $("#gb2312").val(gbtxt);
 });  
}); 
</script>  
</body>
<html>
 
 
 

(原文链接 http://ddbiz.com/?p=194)

原创粉丝点击