Design: Normalização Unicode

Criado em 30 jan. 2017  ·  6Comentários  ·  Fonte: WebAssembly/design

Bifurcação de # 970: JS.md fala sobre normalização Unicode .

Um exemplo simples desse documento: meu nome "Jean-François Bastien" pode ser normalizado de duas maneiras com

Ç ↔ C + ◌̧

Este é um belo pegadinho em Unicode. Durante a interface entre JS e wasm, seria bom saber o que esperar dos produtores e consumidores. Podemos escolher não normalizar, mas devemos dizer isso .

Vejo 4 maneiras de discutir a normalização em JS.md:

  1. Proibir / errar / ignorar entradas não normalizadas.
  2. Normalizar entradas wasm automaticamente e comparar os valores JS normalizados.
  3. Normalize automaticamente as entradas do wasm e espere que o usuário chame normalize .
  4. Não normaliza nada.

Se escolhermos 2. ou 3. devemos especificar qual forma de normalização esperamos (porque é claro que existem várias formas de normalização).

importexports

Comentários muito úteis

Acho que a convertToJSString function Web.md # names já especifica 4. Parece bom adicionar um texto esclarecedor para dizer que nenhuma normalização ocorre, no entanto.

Todos 6 comentários

1, 2 e 3 parecem ser uma boa fonte para bugs esotéricos em motores JS.

Eu voto 4.

Acho que a convertToJSString function Web.md # names já especifica 4. Parece bom adicionar um texto esclarecedor para dizer que nenhuma normalização ocorre, no entanto.

Acordado com @lukewagner.

FWIW, CSS também não normaliza.

Sim, nada na plataforma da web usa normalização Unicode, exceto string.normalize () em JavaScript e IDNA em URLs. 4 é definitivamente o que você quer aqui.

Doce. Quero ter certeza de que documentamos essas decisões e parece que chegamos a um consenso. Fechando.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

badumt55 picture badumt55  ·  8Comentários

arunetm picture arunetm  ·  7Comentários

konsoletyper picture konsoletyper  ·  6Comentários

bobOnGitHub picture bobOnGitHub  ·  6Comentários

nikhedonia picture nikhedonia  ·  7Comentários