unicode转中文的方法

今天遇到个需求:要生成随机的汉字。

想了想可以先生成随机的unicode码,再将它解码就行了。

百度的时候找到了解码的函数:unescape 只要把生成的unicode码前加上%u就能解码为汉字,问题解决后去MDN上找了下这个函数的介绍,看到该函数已废弃,虽然现在火狐上还能用,但还是放弃了这个函数,又去试了下推荐的函数decodeURI

虽然不知道它解码的是什么码,但总之生成的十六进制unicode码它解不了。。。看格式它接收的是URL中汉字被转换成的那个码,又经过百度后找到个最佳选择:

String.fromCharCode()

静态 String.fromCharCode() 方法返回由指定的 UTF-16 代码单元序列创建的字符串。

可以测试一下它的转换是否正确:

console.log(escape("中")); //%u4E2D
console.log(String.fromCharCode(parseInt("4E2D", 16))); //中
console.log(String.fromCharCode(parseInt("4E2D", 16), parseInt("4E2D", 16))); //中中

这个方法是可以直接将一个十进制的编码转换成汉字的。

unicode转中文的方法

上一篇:opencv4.5.0 +contrib编译流程


下一篇:format()函数