网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2025/6/10 浏览:3 次 )

有一设备,为短信网关。需将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++] = (uCode8)&0xff; 
      temp[j++] = uCode&0xff; 
    }else if(uCode<0x1000000){ 
      temp[j++] = (uCode16)&0xff; 
      temp[j++] = (uCode8)&0xff; 
      temp[j++] = uCode&0xff; 
    }else if(uCode<0x100000000){ 
      temp[j++] = (uCode24)&0xff; 
      temp[j++] = (uCode16)&0xff; 
      temp[j++] = (uCode8)&0xff; 
      temp[j++] = uCode&0xff; 
    }else{ 
      break; 
    } 
  } 
  temp.length = j; 
  return temp; 
} 

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

上一篇:JS FormData上传文件的设置方法
下一篇:js 获取元素的具体样式信息getcss(实例讲解)
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?