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


Posted in Javascript onJuly 05, 2017

有一设备,为短信网关。需将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之间的互相转换互转,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS 时间显示效果代码
Aug 23 Javascript
js中数组(Array)的排序(sort)注意事项说明
Jan 24 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
jquery插件bxslider用法实例分析
Apr 16 Javascript
浅谈jQuery中replace()方法
May 13 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
Nov 07 Javascript
JS深度拷贝Object Array实例分析
Mar 31 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
May 20 Javascript
Angular实现的简单定时器功能示例
Dec 28 Javascript
JS通过位运算实现权限加解密
Aug 14 Javascript
vue如何根据网站路由判断页面主题色详解
Nov 02 Javascript
vue实现搜索过滤效果
May 28 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
Jul 05 #Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
Jul 05 #Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
Jul 05 #Javascript
JS鼠标滚动分页效果示例
Jul 05 #Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 #jQuery
Angular 2父子组件数据传递之@Input和@Output详解 (上)
Jul 05 #Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
Jul 05 #Javascript
You might like
php知道与问问的采集插件代码
2010/10/12 PHP
paypal即时到账php实现代码
2010/11/28 PHP
php获取文件大小的方法
2014/02/26 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
js 函数的副作用分析
2011/08/23 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
jQuery UI插件自定义confirm确认框的方法
2015/03/20 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
2016/08/19 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
Djang中静态文件配置方法
2015/07/30 Python
解决uWSGI的编码问题详解
2017/03/24 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
python字符串的拼接方法总结
2019/11/18 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
杠杆的科学教学反思
2014/01/10 职场文书
公司合作意向书
2014/04/01 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
尊师重教演讲稿
2014/09/04 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
爱国之歌(8首)
2019/09/29 职场文书