美文网首页
05- Unicode 编码

05- Unicode 编码

作者: 夏海峰 | 来源:发表于2018-08-21 15:13 被阅读18次

1、Unicode 编码

JavaScript 允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。
但是,这种表示法只限于码点在\u0000~\uFFFF之间的字符。ES6 对这一点做出了改进,只要将码点放入大括号,就能正确解读该字符。

// 写法  \u{}
"\u{20BB7}"

"\u{41}\u{42}\u{43}"
// ABC

let hello = 123;
hell\u{6F} === hello;   // true

'\u{1F680}' === '\uD83D\uDE80';
// ES6大括号表示法 与 两个双字节(4字节)的UTF-16编码是等价的。

6种表示字符的方式:

"\z" === "z";
"\172" === "z";
"\x7A" === "z";
"\u007A" === "z";
"\u{7A}" === "z";   // ES6表示法

JavaScript 内部,字符以 UTF-16 的格式储存,每个字符固定为2个字节。对于那些需要4个字节储存的字符(Unicode 码点大于0xFFFF的字符),JavaScript 会认为它们是两个字符。

// 1字符 = 2字节     c.length = 1
// 2字符 = 4字节     c.length = 2
var s = '𠮷';   // 它的Unicode码点大于0xFFFF
s.length;   // 2

var t = '夏';   // 它的Unicode码点小于0xFFFF
t.length;   // 1

2、codePointAt() 方法

codePointAt() 方法是测试一个字符由两个字节还是由四个字节组成的最简单方法。

function is32Bit(c) {
    // 4字节的字符,它的Unicode码点大于0xFFFF
    return c.codePointAt(0) > 0xFFFF;
}
is32Bit("𠮷");   // true
is32Bit("夏");   // false

完!!!

相关文章

  • 05- Unicode 编码

    1、Unicode 编码 JavaScript 允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Un...

  • 一个xss payload编码

    原始paylaod unicode编码函数名alert url编码unicode编码部分 最后在html编码全部 ...

  • python基础-13-史上最通俗易懂的编码讲解

    常用编码 ascii unicode utf-8 gbk 编码 ascii unicode utf-...

  • unicode

    gbk---解码--->unicode---编码--->utf-8 其它编码格式到unicode属于解码,反之属于编码

  • python的unicode编码问题(以正则表达式为例)

    unicode是python的内部编码。字符串在Python内部的表示是unicode编码,因此,在做编码转换时,...

  • Unicode 编码相关

    相关链接 Unicode编码范围表数字unicode码各个国家 不同字符集的unicode 编码范围 中文汉字UN...

  • 关于python3中decode和encode的区别

    字符串在python内部是unicode编码,因此在进行编码转换时,要已unicode编码作为中间编码。(注:un...

  • Unicode

    很多人都把Unicode编码挂在嘴边,其实咱们现实生活中遇到的编码基本都是Unicode的 因为Unicode兼容...

  • Python_字符串编码问题

    字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即...

  • ucs

    unicode编码方式 统一码(unicode)的编码方式使用的是通用字符集UCS unicode字符的平面映射本...

网友评论

      本文标题:05- Unicode 编码

      本文链接:https://www.haomeiwen.com/subject/wqhjiftx.html