JavaScript

超轻量级php框架startmvc

JS实现unicode和UTF-8之间的互相转换互转

更新时间:2020-05-22 14:00:01 作者:startmvc
有一设备,为短信网关。需将PC送过来的UTF-8转换成UNICODE才能将内容通过短信发送出去,同

有一设备,为短信网关。需将PC送过来的UTF-8转换成UNICODE才能将内容通过短信发送出去,同样,接收到的短信为unicode编码,也许转换成UTF-8才能在PC端软件显示出来。程序很简单,只是走了不少弯路:


//unicode为1个接收数据,串口收到的字符编码放在该数组中 
function UnicodeToUtf8(unicode) { 
 var uchar; 
 var utf8str = ""; 
 var i; 
 for(i=0; i<unicode.length;i+=2){ 
 uchar = (unicode[i]<<8) | unicode[i+1]; //UNICODE为2字节编码,一次读入2个字节 
 utf8str = utf8str + String.fromCharCode(uchar); //使用String.fromCharCode强制转换 
 } 
 return utf8str; 
} 
function Utf8ToUnicode(strUtf8) { 
 var i,j; 
 var uCode; 
 var temp = new Array(); 
 for(i=0,j=0; i<strUtf8.length; i++){ 
 uCode = strUtf8.charCodeAt(i); 
 if(uCode<0x100){ //ASCII字符 
 temp[j++] = 0x00; 
 temp[j++] = uCode; 
 }else if(uCode<0x10000){ 
 temp[j++] = (uCode>>8)&0xff; 
 temp[j++] = uCode&0xff; 
 }else if(uCode<0x1000000){ 
 temp[j++] = (uCode>>16)&0xff; 
 temp[j++] = (uCode>>8)&0xff; 
 temp[j++] = uCode&0xff; 
 }else if(uCode<0x100000000){ 
 temp[j++] = (uCode>>24)&0xff; 
 temp[j++] = (uCode>>16)&0xff; 
 temp[j++] = (uCode>>8)&0xff; 
 temp[j++] = uCode&0xff; 
 }else{ 
 break; 
 } 
 } 
 temp.length = j; 
 return temp; 
} 

以上所述是小编给大家介绍的JS实现unicode和UTF-8之间的互相转换互转,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

js unicode和UTF-8互转