Design: Юникод нормализация

Созданный на 30 янв. 2017  ·  6Комментарии  ·  Источник: WebAssembly/design

Разветвление от # 970: JS.md говорит о нормализации Unicode .

Простой пример из этого документа: мое имя "Жан-Франсуа Бастьен" можно нормализовать двумя способами:

Ç ↔ C + ◌̧

Это хорошая ошибка в Юникоде. При взаимодействии между JS и wasm было бы хорошо знать, чего ожидать от производителей и потребителей. Мы можем решить не нормализовать ситуацию, но мы должны сказать об этом .

Я вижу 4 способа обсуждения нормализации в JS.md:

  1. Запретить / ошибка / игнорировать ненормализованные вводы.
  2. Автоматически нормализовать входные данные wasm и сравнивать нормализованные значения JS.
  3. Автоматически нормализовать входные данные wasm и ожидать, что пользователь вызовет нормализацию .
  4. Ничего не нормализовать.

Если мы выберем 2. или 3. мы должны указать, какую форму нормализации мы ожидаем (потому что, конечно, существует несколько форм нормализации).

importexports

Самый полезный комментарий

Я думаю, что convertToJSString function Web.md # names уже указывает 4. Кажется, неплохо добавить поясняющий текст, чтобы сказать, что нормализации не происходит.

Все 6 Комментарий

1, 2 и 3 кажется хорошим источником эзотерических ошибок в движках JS.

Я голосую 4.

Я думаю, что convertToJSString function Web.md # names уже указывает 4. Кажется, неплохо добавить поясняющий текст, чтобы сказать, что нормализации не происходит.

Согласен с @lukewagner.

FWIW, CSS тоже не нормализуется.

Да, ничто в веб-платформе не использует нормализацию Unicode, кроме string.normalize () в JavaScript и IDNA в URL-адресах. 4 определенно то, что вам здесь нужно.

Милая. Я хочу убедиться, что мы задокументировали эти решения, и, похоже, мы достигли консенсуса. Закрытие.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

dpw picture dpw  ·  3Комментарии

Artur-A picture Artur-A  ·  3Комментарии

thysultan picture thysultan  ·  4Комментарии

void4 picture void4  ·  5Комментарии

nikhedonia picture nikhedonia  ·  7Комментарии