博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript字符转Unicode,顺便说句:GitHub的Oh no页面很亮
阅读量:5098 次
发布时间:2019-06-13

本文共 1157 字,大约阅读时间需要 3 分钟。

遇到个输不出来的字符怎么办,因为输不出来的字符一般又是不常见大多数时候连名字也喊不出来的,所以想问百度谷歌大大也不大可能。如果是小白用户肯定会去把输入法软盘打开切换到其他键盘一个一个找。即使有搜狗输入法这样强大的特殊字符集的汇总,也还是要找啊。

话说那天在GitHub上折腾的时候不小心整出个错误页面(你们还是打消重现的想法吧,很难),一看好别致,我去,感叹与问号的合体,我去这是什么符号‽

 

啥也表说了兴许以后在自己的设计中用得上,于是就copy了下来。

后来一想哎不对啊,我不能打出来,我要使用的时候必需通过复制。这个不太保险。如果知道他的unicode代码,那就可以在HTML,JavaScript中随便使用了。

所以现在需要这么一个函数,它能把字符转为unicode码。

经查,JavaScript内建函数里有把unicode转字符的String.fromCharCode()。

刚好也有把字符转unicode转字符的String.charCodeAt()

但注意这个String.charCodeAt()直接转出来的数字为10进制的,无法在代码中像这样正常使用"\uXXXX"。

所以需要调用toString(16),注意指定基数为16。

于是得到以下辅助函数:

function convert2Unicode(char) {  return "\\u" + char.charCodeAt(0).toString(16);}

 

convert2Unicode("‽")->"\u203D"

 

于是就可以这样在JS中使用了:alert("\u203D");

 

进阶

进一步,可以想到除了将一个字符转为unicode表示外,稍微改造下就可以把一个字符串进行转换了。

 

function toUnicode(theString) {  var unicodeString = '';  for (var i = 0; i < theString.length; i++) {    var theUnicode = theString.charCodeAt(i).toString(16).toUpperCase();    while (theUnicode.length < 4) {      theUnicode = '0' + theUnicode;    }    theUnicode = '\\u' + theUnicode;    unicodeString += theUnicode;  }  return unicodeString;}

 

 

Reference:

转载于:https://www.cnblogs.com/Wayou/p/convert_symbol_to_unicode.html

你可能感兴趣的文章
JSDoc规范
查看>>
大话文本检测经典模型:EAST
查看>>
文本主题模型之LDA(一) LDA基础
查看>>
linux基础命令-chgrp/chown/chomd
查看>>
待整理
查看>>
iOS 6
查看>>
Nginx入门篇-基础知识与linux下安装操作
查看>>
一次动态sql查询订单数据的设计
查看>>
C# 类(10) 抽象类.
查看>>
1.linux ping:unknown host www.***.***
查看>>
字符串处理函数
查看>>
jenkins修改时区
查看>>
比较git commit 两个版本之间次数
查看>>
jQuery.support
查看>>
【LeetCode】167. Two Sum II - Input array is sorted
查看>>
如何在g++中添加include文件的目录
查看>>
BlockingQueue深入解析
查看>>
网络编程
查看>>
POJ -2236 Wireless Network
查看>>
CentOS6.9安装Filebeat监控Nginx的访问日志发送到Kafka
查看>>