Forking von #970: JS.md spricht über Unicode-Normalisierung .
Ein einfaches Beispiel aus diesem Dokument: Mein Name "Jean-François Bastien" kann auf zwei Arten normalisiert werden mit
Ç ↔ C+◌̧
Dies ist ein netter Fallstrick in Unicode. Bei der Schnittstelle zwischen JS und wasm wäre es gut zu wissen, was von Herstellern und Verbrauchern zu erwarten ist. Wir können uns entscheiden, nicht zu normalisieren, aber wir sollten es sagen .
Ich sehe 4 Möglichkeiten, wie wir die Normalisierung in JS.md diskutieren können:
Wenn wir 2. oder 3. wählen, sollten wir angeben, welche Form der Normalisierung wir erwarten (da es natürlich mehrere Formen der Normalisierung gibt).
1, 2 und 3 scheint eine gute Quelle für esoterische Fehler in JS-Engines zu sein.
Ich stimme 4.
Ich denke, die convertToJSString
Funktion Web.md#names gibt bereits 4 an. Es scheint jedoch in Ordnung zu sein, erläuternden Text hinzuzufügen, um zu sagen, dass keine Normalisierung stattfindet.
Einverstanden mit @lukewagner.
FWIW, CSS normalisiert sich auch nicht.
Ja, nichts in der Webplattform verwendet Unicode-Normalisierung, außer string.normalize() in JavaScript und IDNA in URLs. 4 ist definitiv das, was Sie hier wollen.
Süss. Ich möchte sicherstellen, dass wir diese Entscheidungen dokumentieren, und es scheint, dass wir einen Konsens erreicht haben. Schließen.
Hilfreichster Kommentar
Ich denke, die
convertToJSString
Funktion Web.md#names gibt bereits 4 an. Es scheint jedoch in Ordnung zu sein, erläuternden Text hinzuzufügen, um zu sagen, dass keine Normalisierung stattfindet.