unicode对于字符的解码最大是FFFF的字母表 也就是65535
例如: "0".charCodeAt() => 48
可以用 \u0030转成字符串 "0" 每个字符是两个字节
"?".charCodeAt() => 55357
小于65535 ,需要四个字节 , 就会转换不了 ,变成"ὠ1"
es6提供了一种新的方法解决这个问题 codePointAt()
那么"?".codePointAt().toString(16) => '1f601'
而转换回去也需要 String.formPoint(0x1f601)
注意:可以用es6的 codePointAt() 和 String.formPoint() 可以代替之前两个方法。
简写:如果觉得上述方法太长,可以使用这种简写的 \u{uicode码}
例如: "0" 可以用 "\u{30}" 转回来
"?" 可以用 "\u{1f601}" 转回来