学习ECMAScript 2015【10】Unicode

原创
2021/10/18 17:26
阅读数 51

0.背景

本文的主角是 Unicode ,没啥可说的,水一篇吧。

1.Unicode

// same as ES5.1
"𠮷".length == 2

// new RegExp behaviour, opt-in ‘u’
"𠮷".match(/./u)[0].length == 2

// new form
"\u{20BB7}" == "𠮷"
"𠮷" == "\uD842\uDFB7"

// new String ops
"𠮷".codePointAt(0) == 0x20BB7

// for-of iterates code points
for(var c of "𠮷") {
  console.log(c);
}

  下面来点刻板地说教:

Unicode 是一种字符集标准,用于对来自世界上不同语言、文字系统和符号进行编号和字符定义。通过给每个字符分配一个编号,程序员可以创建字符编码,让计算机在同一个文件或程序中存储、处理和传输任何语言组合。

在 Unicode 定义之前,在同一数据中混合使用不同的语言是很困难的,而且容易出错。例如,一个字符集存储的是日文字符,而另一个字符集存储的是阿拉伯字母。如果没有明确标明数据的哪些部分属于哪个字符集,其他程序和计算机就会错误地显示文本,或者在处理过程中损坏文本。如果你曾经见过像 (“”) 被替换为胡言乱语 £,那么你就已经看到过这个被称为 Mojibake 的问题。

网络上最常见的 Unicode 字符编码是UTF-8。还存在一些其他编码,如 UTF-16或过时的 UCS-2,但推荐使用 UTF-8。

好了,收!

image.png

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部