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 相关文章推荐
JavaScript全局函数使用简单说明
Mar 11 Javascript
event.currentTarget与event.target的区别介绍
Dec 31 Javascript
js算法中的排序、数组去重详细概述
Oct 14 Javascript
表单验证正则表达式实例代码详解
Nov 09 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
Jun 15 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
Aug 08 Javascript
AngularJS+Bootstrap实现多文件上传与管理
Nov 08 Javascript
thinkjs之页面跳转同步异步操作
Feb 05 Javascript
JS+HTML5 FileReader对象用法示例
Apr 07 Javascript
微信小程序 获取二维码实例详解
Jun 23 Javascript
vue-cli配置文件——config篇
Jan 04 Javascript
vue 动态生成拓扑图的示例
Jan 03 Vue.js
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异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
动态加载iframe
2006/06/16 Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
JavaScript中闭包之浅析解读(必看篇)
2016/08/25 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
Vue数据绑定简析小结
2019/05/07 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
Python常用内置模块之xml模块(详解)
2017/05/23 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
学生学习总结的自我评价
2013/10/22 职场文书
文化建设工作方案
2014/05/12 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
个人年度总结报告
2015/03/09 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书