本人刚接触js不久,菜鸟一枚。现如今遇到机内码的显示问题无法独立解决,求大神们解惑,不胜感激。Eg: 汉字:猪 机内码:   D6ED(55021)    转换\显示汉字方法未知 
unicode: 732A(29482)     String.fromCharCode()直接转换成汉字 unicode和机内码之间似乎不存在转换规则,毫无关联。 我现在只知道怎么将unicode编码的字符串转换成汉字,不懂怎么将ascii(机内码)转换成汉字在客户端显示,求救!!! //unicode转汉字 
<script> 
var str = "732A"; 
var tmp = ""; 
var name = ""; for(var i =0;i<str.length/4;i++) 

 tmp = str.substr(4*i,4); 
 tmp = parseInt(tmp ,16); 
 name += String.fromCharCode(tmp); 
} alert(name); 
</script> 

解决方案 »

  1.   

    你要的是不是这个
    http://www.juehackr.net/jingpinjiaocheng/1284.html
      

  2.   

    谢谢帮忙,不过我其实是想机内码(GBK?)字符代表的汉字显示出来,你提供的utf8与gb2312互转方法似乎没有用到啊
      

  3.   

    大神们,可能我的文字描述不清,我的意思是如果已知一个GBK码,在js中如何得到对应的汉字。是否存在一个函数/方法—参数是GBK值,返回的是汉字的字符串。在VC中:
    char szChar[]={0xD6,0xED};
    TextOut(szChar,...) 通过TextOut即可直接输出汉字“猪”,JS中类似的方法?
      

  4.   

    在java中有这样一个方法:
    String s="全球最大中文社区";
    byte[] bytes=s.getBytes("GBK");//gbk编码转换成的字节数组。
    String string = new String(bytes,"GBK");
    System.out.println(string);//全球最大中文社区
    这是在java中的方法
      至于js中的,没遇到过,仅供参考。
      

  5.   


    谢谢LS,在此帖中找到了解决方案(搜索技巧不足):http://bbs.csdn.net/topics/340263551