用JavaScript实现的将GB2312转换为UTF-8编码

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( " % " ));
}
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值