Design: Unicode正規化

作成日 2017年01月30日  ·  6コメント  ·  ソース: WebAssembly/design

#970からの分岐:JS.mdはUnicode正規化について話し

そのドキュメントの簡単な例:私の名前「Jean-FrançoisBastien」は、次の2つの方法で正規化できます。

Ç↔C+◌̧

これはUnicodeの良い落とし穴です。 JSとwasmの間のインターフェースを取りながら、プロデューサーとコンシューマーに何を期待するかを知っておくとよいでしょう。 正規化しないことを選択することもできますが、そう言う必要があります

JS.mdで正規化について説明できる4つの方法があります。

  1. 正規化されていない入力を禁止/エラー/無視します。
  2. wasm入力を自動的に正規化し、正規化されたJS値を比較します。
  3. wasm入力を自動的に正規化し、ユーザーがnormalizeを呼び出すことを期待します。
  4. 何も正規化しません。

2.または3を選択する場合は、どの形式の正規化を期待するかを指定する必要があります(もちろん、複数の形式の正規化があるため)。

importexports

最も参考になるコメント

convertToJSString関数Web.md#namesはすでに4を指定していると思います。ただし、正規化が行われないことを示す明確なテキストを追加するのは問題ないようです。

全てのコメント6件

1、2、および3は、JSエンジンの難解なバグの良い情報源のようです。

私は4票を投じます。

convertToJSString関数Web.md#namesはすでに4を指定していると思います。ただし、正規化が行われないことを示す明確なテキストを追加するのは問題ないようです。

@lukewagnerに同意しました。

FWIW、CSSもまったく正規化しません。

ええ、JavaScriptのstring.normalize()とURLのIDNAを除いて、WebプラットフォームではUnicode正規化を使用するものはありません。 4は間違いなくあなたがここで欲しいものです。

甘い。 これらの決定を確実に文書化したいのですが、コンセンサスに達したようです。 閉鎖。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

frehberg picture frehberg  ·  6コメント

ghost picture ghost  ·  7コメント

aaabbbcccddd00001111 picture aaabbbcccddd00001111  ·  3コメント

spidoche picture spidoche  ·  4コメント

artem-v-shamsutdinov picture artem-v-shamsutdinov  ·  6コメント