中文转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. 找出数组中重复的数字---多思路
  2. 保研软件学院和计算机学院,西南大学计算机与信息科学学院·软件学院(专业学位)计算机技术保研细则...
  3. 企业搜索引擎开发之连接器connector(二十七)
  4. mysql @@version_MySQL数据库安装Version5.5
  5. 服务器新建文件命令,云服务器中新建文件夹命令
  6. 买苹果---动态规划
  7. Node.js的require()的工作原理
  8. 拓端tecdat|R语言如何做马尔可夫转换模型markov switching model
  9. CSS样式表初始化杂谈
  10. 毕业论文答辩开题报告PPT模板
  11. PHP教程5-安装PHPNow
  12. 对学生任务博客的评分练习
  13. 【本人秃顶程序员】Java面试题集(意思意思)
  14. 学计算机与学英语词汇,计算机专业常用英语词汇学习
  15. caffeine本地缓存的使用和详解
  16. SAP MM批次切换
  17. U盘格式化后数据能恢复吗?U盘格式化怎么恢复数据
  18. Java学习day05——方法及其调用重载
  19. Matlab过零补偿角,无刷直流电机反电动势过零检测及其相位补偿.pdf
  20. 一种基于卷积神经网络的数据驱动故障诊断方法

热门文章

  1. 终于有人把数据安全讲明白了
  2. 英语发音规则之26个字母发音规则(A字母)
  3. 《当代教育心理学》(第2版)学习笔记
  4. 软件测试面包屑什么意思,面包屑的用法面包屑有什么作用
  5. 阿里云跨云迁移工具案例实践:华为云迁移到阿里云
  6. 阿里云数据迁移工具解决方案:华为云迁移到阿里云
  7. 电脑操作系统维护10条基础知识!
  8. 渣打称中国房市出现泡沫
  9. 模拟人生4修改服务器,模拟人生4 全秘籍、作弊码一览 模拟人生4修改方法汇总...
  10. Learning ImageMagick 1: Lomo效果