用JavaScript实现汉字与Unicode的相互转换

时间: 2020-04-16阅读: 1219标签: 

一、将汉字转换为Unicode  

/*
*将汉字转换为Unicode
*charCodeAt返回字符串指定位置的字符的Unicode编码(十进制形式),在0-65535之间。
*
*toString(16) 将一个数字转成十六进制。
*/
function toUnicode(chineseStr) {
if (chineseStr == '') {
return 'Please input Chinese Characters';
}
let unicodeStr = '';
for (let i = 0, iLength = chineseStr.length; i < iLength; i++) {
unicodeStr += '\\u' + chineseStr.charCodeAt(i).toString(16);
}
return unicodeStr;
}
let s1 = '我是谁',
s2 = '';
console.log(toUnicode(s1)); //\u6211\u662f\u8c01
console.log(toUnicode(s2)); //\ud842\udfb7


二、将Unicode转换为汉字 

/*
将Unicode转成汉字
parseInt开始出了个小插曲,表明自己还是要多巩固基础,就是parseInt(string, radix)的第二参数radix,表示的是第一个参数string代表的
数字的基数,而不是你最终解析的结果的基数,比如radix为16时,表示string是16进制的数字的字符串。parseInt的返回值始终是10进制表示的。

fromCharCode: 将Unicode编码为一个字符,可以有多个参数,即可以传入多个Unicode值,然后再返回相应的多个字符。
*/
function toChineseStr(unicodeStr) {
if (unicodeStr == '') {
return 'Please input hexadecimal Unicode';
}
unicodeStr = unicodeStr.split('\\u');
let chineseStr = '';
for (let i = 0, iLength = unicodeStr.length; i < iLength; i++) {
chineseStr += String.fromCharCode(parseInt(unicodeStr[i], 16));
}
return chineseStr;
}
let c1 = '\\u6211\\u662f\\u8c01',
c2 = '\\ud842\\udfb7';
console.log(toChineseStr(c1)); //我是谁
console.log(toChineseStr(c2)); //


 

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/8743

http返回状态码

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别: 1xx:指示信息--表示请求已接收,继续处理;2xx:成功--表示请求已被成功接收、理解、接受

页面制作中要注意的编码问题

不知道大家在做页面的时候会不会遇到样式定义不生效的问题,基本的表现就是怎么改样式都没显示或只有某些浏览器正常,这时通常需要做下面的几步:

gbk是什么意思?

GBK全称《汉字内码扩展规范》,是对GB2312编码的扩展,因此完全兼容GB2312-80标准。GBK共收录21886个汉字和图形符号,其中汉字(包括部首和构件)21003个,图形符号883个。

字符编码-ASCII,Unicode 和 UTF-8

我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同

中文utf 8占几个byte——UTF-8中一个汉需要占用三个字节

中文汉字在utf-8中到底占几个字节,一般是3个字节,最常见的编码方式是1110xxxx 10xxxxxx 10xxxxxx。

一文读懂原码、反码与补码

二进制和十进制一样,也是一种进位计数制,但是它的基数是 2。二进制表达式中 0 和 1 的位置不同,它所代表的数值也不同。例如,二进制数 0000 1010 表示十进制数 10。 一个二进制数具有两个基本特点

Unicode字符集和UTF8编码编码的前世今生

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了

js之汉字与Unicode码的相互转化

js unicode是以十六进制代码外加开头\\u表示的字符串。本文将讲解通过js实现unicode转化为汉字的方法,实现汉字转Unicode码。

nodejs怎么设置编码格式

很多小伙伴在使用nodejs时候会出现乱码情况,怎么设置编格式呢?方法一:使用res.write()设置<meta>标签,方法二:使用res.setHeader()设置Content-type,方法三:使用res.writeHeader()设置Content-type

字符集和编码

字符集 Charset :是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等。编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机编程语言的代码简称编码。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!