中文转utf8

function EncodeUtf8(s1)
{var s = escape(s1);var sa = s.split("%");var retV ="";if(sa[0] != ""){retV = sa[0];}for(var i = 1; i < sa.length; i ++){if(sa[i].substring(0,1) == "u"){retV += Hex2Utf8(Str2Hex(sa[i].substring(1,5)));}else retV += "%" + sa[i];}return retV;
}
function Str2Hex(s)
{var c = "";var n;var ss = "0123456789ABCDEF";var digS = "";for(var i = 0; i < s.length; i ++){c = s.charAt(i);n = ss.indexOf(c);digS += Dec2Dig(eval(n));}//return value;return digS;
}
function Dec2Dig(n1)
{var s = "";var n2 = 0;for(var i = 0; i < 4; i++){n2 = Math.pow(2,3 - i);if(n1 >= n2){s += '1';n1 = n1 - n2;}elses += '0';}return s;
}
function Dig2Dec(s)
{var retV = 0;if(s.length == 4){for(var i = 0; i < 4; i ++){retV += eval(s.charAt(i)) * Math.pow(2, 3 - i);}return retV;}return -1;
}
function Hex2Utf8(s)
{var retS = "";var tempS = "";var ss = "";if(s.length == 16){tempS = "1110" + s.substring(0, 4);tempS += "10" +  s.substring(4, 10); tempS += "10" + s.substring(10,16); var sss = "0123456789ABCDEF";for(var i = 0; i < 3; i ++){retS += "%";ss = tempS.substring(i * 8, (eval(i)+1)*8);retS += sss.charAt(Dig2Dec(ss.substring(0,4)));retS += sss.charAt(Dig2Dec(ss.substring(4,8)));}return retS;}return "";
}

utf8转中文

// UTF8编码转成汉字字符串
function revertUTF8(szInput) {var x,wch,wch1,wch2,uch="",szRet="";for (x=0; x<szInput.length; x++) {if (szInput.charAt(x)=="%") {wch =parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);if (!wch) {break;}if (!(wch & 0x80)) {wch = wch;} else if (!(wch & 0x20)) {x++;wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);wch  = (wch & 0x1F)<< 6;wch1 = wch1 & 0x3F;wch  = wch + wch1;} else {x++;wch1 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);x++;wch2 = parseInt(szInput.charAt(++x) + szInput.charAt(++x),16);wch  = (wch & 0x0F)<< 12;wch1 = (wch1 & 0x3F)<< 6;wch2 = (wch2 & 0x3F);wch  = wch + wch1 + wch2;}szRet += String.fromCharCode(wch);} else {szRet += szInput.charAt(x);}}return(szRet);
}

测试

  var utf = EncodeUtf8("你好");var uni = revertUTF8(utf);console.log('utf:'+utf + ' '+'uni:' + uni);输出:monitor_pd.js:159 utf:%E4%BD%A0%E5%A5%BD uni:你好

js中utf8和中文互转的方法相关推荐

  1. golang中utf8和汉字互转

    golang中utf8和汉字互转 package mainimport ("fmt""strconv""strings" )func mai ...

  2. php 字母数字混合排序,JavaScript_基于JS实现数字+字母+中文的混合排序方法,在上篇文章给大家介绍了JavaScr - phpStudy...

    基于JS实现数字+字母+中文的混合排序方法 在上篇文章给大家介绍了JavaScript sort数组排序方法和自我实现排序方法小结,用自己的方法实现了数字数组的排序. 当然,实际运用中,我还是会使用s ...

  3. 开发chrome 插件, background.js中 console log 看不到解决方法

    开发chrome 插件, background.js中 console log 看不到解决方法 参考文章: (1)开发chrome 插件, background.js中 console log 看不到 ...

  4. js中的数组Array定义与sort方法使用示例

    js中的数组Array定义与sort方法使用示例 Array的定义及sort方法使用示例 Array数组相当于java中的ArrayList  定义方法:  1:使用new Array(5  )创建数 ...

  5. vue watch 修改滚动条_Vue.js 中滚动条始终定位在底部的方法

    Vue.js 中滚动条始终定位在底部的方法 发布于 2020-2-23| 复制链接 分享一篇关于vue 中滚动条始终定位在底部的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小妖过来看看吧 滚 ...

  6. new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解

    new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解 //获得年月日时分秒 //传入日期// ...

  7. RStudio控制台(console)中出现少量中文乱码的解决方法

    RStudio控制台(console)中出现少量中文乱码的解决方法 参考文章: (1)RStudio控制台(console)中出现少量中文乱码的解决方法 (2)https://www.cnblogs. ...

  8. 中字符转换中文乱码的处理方法

    这两天在学习使用jni,在java程序中,调用海量词典的dll.利用jni的GetStringChars函数和NewString函数时,遇到了中文乱码的问题,折腾了一个晚上.查阅了一些资料,总结如下: ...

  9. Firefox/Chrome下flash的wmode参数设为opaque或transparent时输入文本框中无法输入中文汉字的解决方法

    一.前言 这段时间做个项目,要涉及到flash开发.真悲催,之前没有接触过flash开发,于是找个哥们临时教了一下Adobe Flash CS5 的使用方法,感觉还蛮简单,所见即所得,和MFC下的开发 ...

  10. Firefox/Chrome下flash的wmode参数设为opaque或transparent时输入文本框中无法输入中文汉字的解决方法...

    这段时间做个项目,要涉及到flash开发.真悲催,之前没有接触过flash开发,于是找个哥们临时教了一下Adobe Flash CS5 的使用方法,感觉还蛮简单,所见即所得,和MFC下的开发有点像,渐 ...

最新文章

  1. Tensorflow函数——tf.variable_scope()
  2. 小程序json字符串转 json对象 { name :你好} 转成 { name :你好}
  3. vscode 如何实时显示html文件?
  4. java string rt_如何使jvm加载我的java.lang.String而不是rt.jar中的那个
  5. http get post java_java发送http的get、post请求实现代码
  6. Javascript动态执行问题浅析
  7. 「雕爷学编程」Arduino动手做(19)—震动报警模块
  8. 大学二级计算机基础知识,浙江省大学生计算机基础知识与应用能力等级考试二级(V......
  9. Java — 如何产生随机数(Random类)
  10. Ubuntu配置机顶盒踩坑记录(Airplay/DLNA/UPuP/Miracast)
  11. linux 字幕制作工具,字幕制作工具
  12. 计算机一个小键盘按不出来怎么办,巧妙解决电脑键盘右边的数字键失灵问题
  13. vue+element表格 苹果自带浏览器兼容问题
  14. dax-自定义周做同比和环比
  15. 大学生静态HTML网页源码 我的校园网页设计成品 学校班级网页制作模板 web课程设计 dreamweaver网页作业
  16. 【文献阅读】RL经典:Benchmarking Deep Reinforcement Learning for Continuous Control
  17. hdwiki的php架构,齐博CMS(原php168)整合百科系统(HDwiki)手记
  18. 关于类加载机制,你知道多少
  19. 天宝营养冲刺深交所:年营收12.5亿 拟募资7亿
  20. 殷墟申请世界文化遗产成功

热门文章

  1. H3C模拟器安装及解决各种兼容性问题方法
  2. You tube music
  3. 计算机网络的组成和主要功能,计算机网络的组成与功能
  4. 双人贪吃蛇c语言,关于C 双人贪吃蛇显示的问题
  5. UEFI实战 gST、gBS和gImageHandle
  6. 低代码开发平台:叩开企业数字化转型之门
  7. Element-UI Select 下拉框 根据汉字拼音过滤选择选项(使用filter-method,filterable属性)
  8. 《哲学100问》读书感想:为什么要做一个道德的人
  9. 数据库原理知识点总结一
  10. 【Arduino】继电器控制水泵抽水