摘要:有时候,我们在给后端传递变量的的值中有汉字,可能由于编码的原因,传递到后端后变为乱码了。当然汉字转换成编码,使用的方法就可以。
有时候,我们在给后端传递变量的的值中有汉字,可能由于编码的原因,传递到后端后变为乱码了。所以有时候为了省事或者其它特殊要求的时候,会把传递的汉字转换成Unicode编码后再进行传递。
当然汉字转换成unicode编码,使用JS的charCodeAt()方法就可以。
"好".charCodeAt(0).toString(16) "597d"
这段代码的意思是,把字符"好"转化成Unicode编码,toString()就是把字符转化成16进制了
用法:charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数
语法:stringObject.charCodeAt(index)
index参数必填,表示字符串中某个位置的数字,即字符在字符串中的下标。
注:字符串中第一个字符的下标是 0。如果 index 是负数,或大于等于字符串的长度,则 charCodeAt() 返回 NaN。
例如:
var str="Hello world!" document.write(str.charCodeAt(1)) //结果:101
"好哦".charCodeAt(0).toString(16) "597d" "好哦".charCodeAt(1).toString(16) "54e6"
要是想把unicode解码成字符呢?
要想对Unicode解码的话,必须要用转义字符"u"
"u54e6" "哦"
总结下:
js unicode是以十六进制代码外加开头u表示的字符串。即unnnn
Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。
下面先看一个简单的例子,汉字转化为unicode方法:
function toUnicodeFun(data){ if(data == "" || typeof data == "undefined") return "请输入汉字"; var str =""; for(var i=0;iunicode转化为汉字的方法:
function toChineseWords(data){ if(data == "" || typeof data == "undefined") return "请输入十六进制unicode"; data = data.split("u"); var str =""; for(var i=0;i在网上找到另外一个实现方式:
var GB2312UnicodeConverter={ ToUnicode:function(str){ return escape(str).toLocaleLowerCase().replace(/%u/gi,"u"); }, ToGB2312:function(str){ return unescape(str.replace(/u/gi,"%u")); } }; var result = GB2312UnicodeConverter.ToUnicode("中国"); //u4e2du56fd var result2 = GB2312UnicodeConverter.ToUnicode(result); //%5cu4e2d%5cu56fd下面实现汉字转Unicode码:
function toUnicode(s){ return s.replace(/([u4E00-u9FA5]|[uFE30-uFFA0])/g,function(newStr){ return "u" + newStr.charCodeAt(0).toString(16); }); }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/89836.html
摘要:闲谈系列不涉及具体的讲解,只会勾勾画画一些自己认为比较重要的特性。我们一般认为用两个字节位表示,并且完全囊括了字符集。将其转换成进制就是只是表示它们是码。三的读取和写入相关重要的只有能够读写,才能够显示其存在的价值。 原文地址:http://www.cnblogs.com/DeanCh... 在刚接触Nodejs的时候,有些概念总让学前端的我感到困惑(虽然大学的时候也是在搞后端,世界上...
摘要:全角占两个字节。汉字字符和规定了全角的英文字符及国标中的图形符号和特殊字符都是全角字符。在全角中,字母和数字等与汉字一样占据着等宽的位置。全角转换为半角 1.什么是全角和半角? 全角:是一种电脑字符,是指一个全角字符占用两个标准字符(或两个半角字符)的位置。全角占两个字节。 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。在全角中,字母和数字等...
摘要:下文件名长度限制出现场景在迭代中有一个需求是将文件名修改为所有班级的名称集合,出现的班级过多导致的文件名过长在下无法创建文件和文件夹的情况解决方式经过查证,中文件名最长为字符,文件路径最大长度为字符。这是被编码方案决定的,通过来指定。 Linux下文件名长度限制 出现场景:在迭代中有一个需求是将pdf文件名修改为所有班级的名称集合,出现的班级过多导致的文件名过长在linux下无法创建文...
阅读 2931·2023-04-26 02:25
阅读 2177·2023-04-25 18:05
阅读 587·2021-09-30 09:57
阅读 2842·2021-09-27 14:10
阅读 1586·2019-08-30 15:44
阅读 939·2019-08-29 15:28
阅读 2499·2019-08-29 14:10
阅读 2204·2019-08-29 13:30