本文实例讲述了JS实现的汉字与Unicode码相互转化功能。分享给大家供大家参考,具体如下:

有时候,我们在给后端传递变量的的值中有汉字,可能由于编码的原因,传递到后端后变为乱码了。所以有时候为了省事或者其它特殊要求的时候,会把传递的汉字转换成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;i

str+="\\u"+data.charCodeAt(i).toString(16);

}

return str;

}

var resultUnicode = toUnicodeFun('中国'); // \u4e2d\u56fd

console.log(resultUnicode);

unicode转化为汉字的方法:

function toChineseWords(data){

if(data == '' || typeof data == 'undefined') return '请输入十六进制unicode';

data = data.split("\\u");

var str ='';

for(var i=0;i

str+=String.fromCharCode(parseInt(data[i],16).toString(10));

}

return str;

}

var resultChineseWords = toChineseWords("\u4e2d\u56fd");

console.log(resultChineseWords);//中国

在网上找到另外一个实现方式:

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('中国'); //\u4e2d\u56fd

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);

});

}

PS:这里再为大家提供几款Unicode编码转换操作相关工具供大家参考使用:

希望本文所述对大家JavaScript程序设计有所帮助。

js将中文转换成编码 java解析_JS实现的汉字与Unicode码相互转化功能分析相关推荐

  1. js将中文转换成拼音可首字母大写

    地址:http://lazycms.googlecode.com/svn/other/Pinyin.js 使用方法: <script src="Pinyin.js" type ...

  2. java做的一个将中文转换成Unicode码的工具类【转载】做个标记,明天研究下

    这两天在使用RBManager(一个开源工具,用于多国化字符转化)工具的时候觉得很不方便,有的时候只需要知道中文对应的unicode码是多少,不需要这么麻烦的操作,所以就自己写了一个工具,专门用于将中 ...

  3. js将阿拉伯数字转换成中文的大写数字

    js将阿拉伯数字转换成中文的大写数字 export const numberToChinese = (num) => {var AA = new Array("零", &qu ...

  4. c语言utf8字符转换,C语言示例-中文转换成UTF-8编码

    /** 中文字符串转UTF-8与GBK码示例 */ public static void tttt() throws Exception { String old = "手机银行" ...

  5. 将中文转换成URL编码

    /** * 将中文转换成url编码 * 2016-4-26 10:17:39 */ public static String toUrlEncode(String s) { StringBuffer ...

  6. PDF转换成图片(Java pdfbox实现 附中文乱码解决方案)

    PDF转换成图片(Java pdfbox实现) pdf转成图片在java中主流的做法就是pdfbox和icepdf 然而我选择pdfbox 废话不多说上代码 引入依赖 <!--pdfbox--& ...

  7. C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母

    汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案. 1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z 2.Microsoft Visual S ...

  8. js中将字符串转换成json的三种方式

    ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 1,eval方式解析,恐 ...

  9. 将中文转换成拼音的组件类的pinyin

    ---------------------- ASP.Net+Unity开发. .Net培训.期待与您交流! ---------------------- 1.增加对不同编码格式文本的支持,同时增加编 ...

最新文章

  1. Linux redhat 5.4上安装MYDNS
  2. 微信公众平台开发(26) ACCESS TOKEN
  3. WordPress 数据库结构及表字段作用解析
  4. [html] 浏览器内多个标签页之间的通信方式有哪些?
  5. eclipse git拉取失败_Git(四):分支
  6. linux安全技术课程报告,综合实例一+linux平台WEB安全技术研究报告.doc
  7. 关于Silverlight安装问题之四
  8. FFmpeg查看支持的封装、编解码器、滤镜(四)
  9. www.050604.pw ub.php,《UFIDA用友软件维护工具》050604版使用说明
  10. python制作查询软件_Python制作快递查询工具
  11. html怎么设置seo,简单说明一下html相关的seo设置!
  12. Google中国产品不断升级改进 继续招聘优秀人才
  13. 大数据中心显示大屏幕用液晶拼接屏还是led显示屏?
  14. Unity背包系统-2:数据库存储方法ScriptableObject和显示背包物品InventoryManager
  15. 4 个免费好用的 WordPress 图库插件
  16. Dual Band Wireless-AC 3165无线网卡 win10 无法开启热点 解决
  17. 高新技术企业定义和好处
  18. return R.ok()
  19. 22位压缩版UUID
  20. USB Mass Storage Class

热门文章

  1. 程序代码错误检测_错误检测代码
  2. Java LocalDate类| 带示例的format()方法
  3. Java RandomAccessFile seek()方法与示例
  4. python 发送邮件connect none_使用python向IP地址发送邮件
  5. arduino 蓝牙示例_Arduino简单实例之八_蓝牙模块
  6. java.util.zip_[Java 基础] 使用java.util.zip包压缩和解压缩文件
  7. 多选取值_机制砂如何控制MB值和石粉含量
  8. 为什么创建线程池一定要用ThreadPoolExecutor?
  9. Android 如何让EditText不自动获取焦点
  10. C++总结篇(1)命名空间及引用