代码就是demo, 所以不啰嗦直接上代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<title>关于特殊字符可能用到的方法总结</title>
<style>
</style>
</head>
<body>
<!-- html 用法 &#[10进制] -->
<div>❤</div>
<div>©</div>
<div>’</div>
<script type="text/javascript">
// 16进制 转 10进制
parseInt("0x00a9", 16) //169
parseInt("0x0a9", 16) //169
parseInt("0xa9", 16) //169
// 10进制 转 16进制
let a = 169
a.toString(16) //a9
// 16进制 转 文字(符号)
unescape("\u00a9") //©
unescape("%u00a9") //©
unescape("\u4e00") //一
unescape("%u4e00") //一
unescape("%u" + "00a9") //©
// unescape("\u" + "00a9")//报错
unescape("%u" + 2764) //❤
// 文字(符号) 转 16进制 (长的会补"u"?)
// escape() 函数本来用于对字符串进行编码
// 数字, 字母 等不会编码
escape("一") //%u4E00
escape("©") //%A9
escape("❤") //%u2764
// 文字(符号) 转 16进制 v2.0 (转成纯16进制数字,没有格式问题)
parseInt("一".charCodeAt(0), 10).toString(16) //4e00
parseInt("©".charCodeAt(0), 10).toString(16) //a9
parseInt("❤".charCodeAt(0), 10).toString(16) //2764
// 10进制 转 文字(符号) (优先 fromCodePoint)
String.fromCharCode(169) //©
String.fromCharCode(10084) //❤
String.fromCodePoint(169) //©
String.fromCodePoint(10084) //❤
// 文字(符号) 转 10进制
// escape, 正则表达式, parseInt 的结合使用
escape("ϢϢϢ").match(/[0-9A-F]+/g).map(function(params) {
console.log(parseInt(params, 16))
})
</script>
</body>
</html>
end