unicode

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}" 转回来

 

posted @ 2018-07-25 17:36  wengwj  阅读(104)  评论(0编辑  收藏  举报