从#970 分叉:JS.md 谈论Unicode 规范化。
该文档中的一个简单示例:我的名字“Jean-François Bastien”可以通过两种方式标准化
Ç ↔ C+◌̧
这是 Unicode 中的一个很好的陷阱。 在 JS 和 wasm 之间进行交互时,最好知道对生产者和消费者的期望。 我们可以选择不规范化,但我们应该这样说。
我看到我们可以在 JS.md 中讨论规范化的 4 种方式:
如果我们选择 2. 或 3. 我们应该指定我们期望的规范化形式(因为当然有多种形式的规范化)。
1、2 和 3 似乎是 JS 引擎中深奥错误的好来源。
我投4票。
我认为convertToJSString
函数 Web.md#names 已经指定了 4。不过,添加澄清文本以说明没有发生规范化似乎很好。
同意@lukewagner。
FWIW,CSS 也根本没有规范化。
是的,除了 JavaScript 中的 string.normalize() 和 URL 中的 IDNA 之外,Web 平台中没有任何东西使用 Unicode 规范化。 4绝对是你想要的。
甜的。 我想确保我们记录这些决定,而且我们似乎已经达成共识。 关闭。
最有用的评论
我认为
convertToJSString
函数 Web.md#names 已经指定了 4。不过,添加澄清文本以说明没有发生规范化似乎很好。