我知道 ES6 将有一个新功能,它将对字符串进行 utf-8 规范化(例如使用“NFC”形式)。
阅读http://www.unicode.org/faq/normalization.html,我看到了这个常见问题解答:
问:W3C 规范化和 Unicode 规范化有什么区别?
答:Unicode 标准化有 4 种风格:C、D、KC、KD。与 W3C 规范化相关的是 C。W3C 规范化还将字符引用 (&#nnnn;) 视为等同于字符。例如,文本字符串“a&#xnnnn;” (其中 nnnn = "0301") 是 Unicode 规范化的,因为它仅包含 ASCII 字符,但它不是 W3C 规范化的,因为它包含与“a”组合的锐音重音的表示,并且在规范化形式 C 中,应该已经归一化为 U+00E1。
这是否意味着我们需要替换所有出现的 &#xnnnn; 在调用 normalize('nfc') 之前通过他们的 utf8 等价物?
或者是否会有某种 normalize('w3c') 有助于考虑通过 ascii "&#xnnnn;" 结合重音的字母 等价于它的规范化形式?