//字符串编码转为unicode编码

function charToUnicode(str) {let temp;let i = 0;let r = '';for (let val of str) {temp = val.codePointAt(0).toString(16);while ( temp.length < 4 )temp = '0' + temp;r += '\\u' + temp;};return r;
}

//unicode编码转为字符串编码

function unicodeToChar(str){//方案一return eval("'" + str + "'");//方案二return unescape(str.replace(/\u/g, "%u"));
}

//js获取字符串长度(字符真实个数)
//由于es5之前都将此类四个字节组成的字符"?"("?".length == 2)处理成2个长度,所以使用"for of"方法可以正确遍历字符串的长度
function getLength(str){let length = 0;for(let val of str){length++}      return length
}

  

//codePointAt方法是测试一个字符由两个字节还是由四个字节组成的最简单方法。function is32Bit(c) {return c.codePointAt(0) > 0xFFFF;
}is32Bit("?") // true
is32Bit("啊") // false
is32Bit("a") // false

  

//实际使用中,一般设计会认为中文字符如'啊','哦','额',','等理解为为两个长度,英文字符和数字如'a','1',','等理解为为一个长度,所以此方法可以获取他们认为的字符串长度(注意,不是字符串的真是长度,只是设计师理解的长度)
function getViewLength(str){let length = 0;for (let c of str){//注意使用for of可以正确的遍历字符串的长度,而其他方法会将"?"当成两个长度遍历if(c.codePointAt(0) > 0x00FF){length = length + 2}//不管是两个字节的字符如'啊',还是四个字节的字符'?',都'当成'是属于两个字符长度的范围
' else{length++} } return length }

  

  

转载于:https://www.cnblogs.com/xuanbingbingo/p/8951743.html

js字符串编码和unicode编码互转相关推荐

  1. js与html编码不同,js与html中unicode编码的使用

    [转]javascript和html中unicode编码和字符转义的详解 不是十分理解unicode和html转义的情况下,可能会误用,所以下面会对它们再做比较容易理解的解释: 1.html中的转义: ...

  2. 微信小程序 JS 字符串string与utf8编码的arraybuffer的相互转换

    微信小程序 JS 字符串string与utf8编码的arraybuffer的相互转换     &#8194最近在做一个微信小程序,和后端用websocket连接,后端要求传输过去的信息是UTF ...

  3. 打包解包模块总结:VS2010中默认的编码是Unicode编码

    我把vc6.0上运行没有问题的代码挪到vs2010上,出现了一系列问题. 其根本原因是两种编译器默认编码不一样,vc6.0中默认的编码是(多字节)Ascii编码,VS2010中默认的编码是Unicod ...

  4. 字节码:ASCII编码:单字节编码,ANSI编码:多字节编码,UNICODE编码:宽字节编码

    字符字节与编码 字符是人们常用的一些记号,比如"1", "汉", "お","℃"等等,包括各种语系的语言和一些符号都可以 ...

  5. python 文本文件的编码格式:ASCII编码和UNICODE编码

    欢迎关注博主 python老鸟 或 前往 『Python自学网』, 从基础入门免费课程开始,逐步深入学习python全栈体系课程,适合新手入门到精通全栈开发. 免费专栏传送门:<Python基础 ...

  6. Python中文本文件的编码格式——ASCII编码和UNICODE编码

    文本文件的编码格式 文本文件存储的内容是基于 字符编码 的文件,常见的编码有 ASCII 编码,UNICODE 编码等 Python 2.x 默认使用 ASCII 编码格式 Python 3.x 默认 ...

  7. ascii码01100001_ASCII编码和Unicode编码

    ASCII编码和Unicode编码 计算机是以二进制的形式来存储数据的,它只认识0和1两个数字,我们在屏幕上看到的文字,在存储到内存之前也都被转换成了二进制.下面是小编分享的ASCII编码和Unico ...

  8. Python 入门 26 —— ASCII 编码、Unicode 编码、 UTF-32、 UTF-16、 UTF-8、 GB2312 编码、 GBK 编码

    计算机存储和处理信息都是以一个8位的二进制字节为单位的,例如:0b 1111 0000.一个字母.汉字等如何用一个二进制的数(编码)来表示呢.在计算机发展初期,因为没有人能预料到计算机会有现在这么大的 ...

  9. ASCII编码和Unicode编码的区别和联系

    编码背景 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进 ...

  10. 字符编码之Ascll编码,ANSI编码,Unicode编码,UTF-8编码 ,BOM

    从大一上C语言就开始认识了Ascll编码,ascll码也算是我们最早所接触的编码 [1]Ascll码 Ascll码由三部分组成: 第一部分从00H到1FH共32个,一般用来通信或作为开工至之用,有的可 ...

最新文章

  1. How to resolve unassigned shards in Elasticsearch——写得非常好
  2. web api接口开发实例_C# 物联网开发API接口系列(4)
  3. 工作221:控制弹出框不全屏
  4. 在学习js的然后写代码的过程中我老是找不到思路怎么办?
  5. 未能将管道连接到虚拟机: 所有的管道范例都在使用中。_山西大同超高压管道连接器维修方便厂家...
  6. iOS 8 Metal Swift教程 :开始学习
  7. Pytorch使用Tensorboard记录loss曲线 (Tensorboard学习二)
  8. document.write()
  9. 字符串_KMP算法(求next[]模板 hdu 1711)
  10. linux raw串口,linux下串口raw驱动(US100超声波)--Apple的学习笔记
  11. 如何分辨高仿和原装VGA线(图文教程)_对比赛打分进行现场硬件连线产品参考_[评委计分系统-双屏版]使用参考
  12. mybatis输出SQL格式化
  13. 一款优秀的开源SQL检查审核神器!再也不用担心写SQL出问题了
  14. 游戏编程精粹1---数学技巧---可预测随机数---2
  15. 第三方支付和聚合支付
  16. 拼图复原_1张废旧纸板,3分钟带娃变成趣味拼图!
  17. 《数据结构与算法基础 严蔚敏版》第一章 绪论
  18. 微软edge如何退出登录_如何更新Microsoft Edge
  19. 51单片机PS2键盘解码实验--C51源代码
  20. 三阶行列式的题目_考研数学 | 线性代数中的行列式重难点分析

热门文章

  1. Atitit 项目常用模块 非业务模块 通用技术模块 attilax大总结 理论上可行。但要限制接口方式。 不然现在很多ui与后端接口模式很多,导致组合爆炸。。。 常用模块也就100来个而已。。
  2. Atitit 遍历 与循环模式大总结 目录 1.1. 遍历的对象 数组 或对象 或对象数组 1 2. 遍历的概念 2 2.1. 祖先后代同胞 过滤 2 3. 常见的遍历四种方式 2 3.1.
  3. paip.java桌面开发应用与WEB RIA应用
  4. 国人常用密码TOP100 FROM THISITE
  5. 重要数据 | 数据分类和分级概念解析
  6. swig: c与其它语言接口文件
  7. Julia : Jupyter notebook 中试玩Julia
  8. (转)比特币有了定价模型?过去四年94%的价格波动可由此解释
  9. Kafka从上手到实践 - 初步认知:MQ系统 | 凌云时刻
  10. 【裂缝识别】基于matlab GUI无人机裂缝图像处理系统(带面板)【含Matlab源码 1727期】