Português (Brasil)

Ferramentas de desenvolvedor · HTML escapador de entidade

Entidades numéricas HTML: © vs © e por que um emoji é uma referência

· Como funciona

HTML Unicode codificação

Entidades HTML numéricas: notação de entidade versus notação de entidade e por que um emoji é uma referência mostrada como um diagrama de referência de caracteres seguro para navegador
Ilustração vetorial original ToolAcre

As referências de caracteres numéricos gravam um ponto de código Unicode em decimal ou hexadecimal. Esta postagem mostra como lê-los, por que um emoji é uma referência em vez de duas e de onde vêm os números.

O 😀 que apareceu em uma exportação de banco de dados — lendo uma entidade numérica sem uma tabela de pesquisa

O 😀 que apareceu em uma exportação de banco de dados — lendo uma entidade numérica sem tabela de consulta. Uma referência decimal expõe seu valor diretamente: 😀 solicita o ponto de código Unicode 128512. O decodificador não precisa de uma pesquisa de entrada nomeada quando o número está presente.

Para verificar a referência de caracteres numéricos HTML, construa o 128512 que apareceu para um desenvolvedor vendo 😀 no conteúdo exportado. Preservar em uma exportação de banco de dados enquanto a aritmética de referência numérica produz a leitura de uma entidade numérica; identificar onde sem uma tabela de pesquisa é consumido. A observação sobre evidência aritmética de referência numérica pertence apenas ao texto HTML.

Formas decimais e hexadecimais — &#NNN; e &#xHHHH;, regras de caso para x e os dígitos, e o ponto e vírgula

Formas decimais e hexadecimais — &#NNN; e &#xHHHH;, regras de caso para x e os dígitos e ponto e vírgula. A sintaxe aceita é estrita e terminada: um a sete dígitos decimais, ou um x ou X seguido por um a seis dígitos hexadecimais e, em seguida, um ponto e vírgula. Os terminadores ausentes permanecem intactos.

Um desenvolvedor que vê 😀 no conteúdo exportado pode testar formas decimais e hexadecimais registrando maiúsculas e minúsculas nnn e xhhhh antes da passagem aritmética de referência numérica. Compare as regras para x posteriormente e localize o analisador responsável por e pelos dígitos e. Este resultado de referência de caracteres numéricos HTML explica o ponto e vírgula, não os contextos executáveis.

Pontos de código, não bytes — por que é é é independentemente do conjunto de caracteres da página

Pontos de código, não bytes — por que é é é independentemente do conjunto de caracteres da página. As referências numéricas identificam pontos de código Unicode em vez de bytes codificados. Decimal 233 e hexadecimal E9, portanto, resolvem é independente de como o arquivo circundante representa esse caractere.

Isole pontos de código e não bytes em uma pequena amostra aritmética de referência numérica. Mostre por que 233 é independente da origem literal, siga as páginas até seu destino e nomeie o conjunto de caracteres de leitura API. Para referência de caracteres numéricos HTML, a evidência aritmética de referência numérica permanece como evidência vinculada ao analisador.

Caracteres astrais e UTF-16 - por que 😀 é uma referência em HTML, mas duas unidades de código em JavaScript

Caracteres astrais e UTF-16 - por que 😀 é uma referência em HTML, mas duas unidades de código em JavaScript. O codificador itera strings JavaScript com for-of, o que produz um caractere astral completo. Um emoji é codificado como 😀 ou seu equivalente decimal, não como duas referências substitutas.

Trate os caracteres astrais e o utf como um experimento de limite. Um desenvolvedor vendo 😀 no conteúdo exportado deve reter 16 por que x1f600 é, executar uma operação aritmética de referência numérica e inspecionar uma referência em html caractere por caractere antes de alterar apenas duas unidades de código. A afirmação sobre em javascript para nesta camada HTML.

Exemplo resolvido: conversão entre 😀, 😀, o próprio caractere e a string JavaScript — todas as quatro formas

Exemplo resolvido: conversão entre 😀, 😀, o próprio caractere e a string JavaScript - todas as quatro formas. A cadeia computada é exata: 😀 é U+1F600, decimal 128512, hexadecimal 1F600, HTML 😀 ou 😀, e uma string JavaScript contém o mesmo valor escalar visível.

Reproduza o exemplo trabalhado de conversão com informações inofensivas em vez de material do cliente. Registre x1f600 128512 o caractere, observe a si mesmo e o javascript e conte cada passagem aritmética de referência numérica intencional. Essa trilha de referência de caracteres numéricos HTML permite que um desenvolvedor vendo 😀 no conteúdo exportado avalie a string em todas as quatro formas e evidências aritméticas de referência numérica sem adivinhar.

Valores inválidos e não permitidos — substitutos, nulos e pontos de código acima de 0x10FFFF e como os analisadores os substituem

Valores inválidos e não permitidos — substitutos, nulos e pontos de código acima de 0x10FFFF e como os analisadores os substituem. NUL, valores substitutos isolados e valores acima de U+10FFFF decodificam para U+FFFD. Os testes abrangem , � e �, portanto, referências inválidas produzem caracteres de substituição em vez de exceções.

Coloque valores inválidos e não permitidos, nulos substitutos e código e pontos acima de 0x10ffff e lado a lado durante a revisão aritmética de referência numérica. Um desenvolvedor que vê 😀 no conteúdo exportado pode então decidir se a forma como os analisadores os substituem mudou na conversão ou no downstream. Mantenha a conclusão da referência de caracteres numéricos HTML sobre evidências aritméticas de referência numérica fora de reivindicações de segurança genéricas.

O que isso não cobre - o remapeamento herdado do Windows-1252 de –, tratado em uma postagem separada

O que isso não cobre - o remapeamento herdado do Windows-1252 de –, tratado em uma postagem separada. Valores de decimal 128 a 159 são uma exceção de compatibilidade deliberada tratada por um mapa Windows-1252. Seu mapeamento especial é separado da explicação comum do ponto de código aqui.

Defina o que isso não significa antes de executar a aritmética de referência numérica. Salve a cobertura das janelas herdadas como um controle, inspecione os pontos de código por trás do remapeamento de 1252 de 128 e mapeie 159 tratado em um para o próximo intérprete. Isso torna a postagem separada auditável para um desenvolvedor que vê 😀 no conteúdo exportado investigando a referência de caracteres numéricos HTML.

Conclusão: uma entidade numérica é um ponto de código disfarçado - como o decodificador do escapador de entidade HTML transforma as referências novamente em caracteres como dados, nunca marcação

Conclusão: uma entidade numérica é um ponto de código disfarçado - como o decodificador do escapador de entidade HTML transforma as referências novamente em caracteres como dados, nunca marcação. Entidades numéricas são pontos de código escritos como texto. A ferramenta os resolve com aritmética e String.fromCodePoint sem nunca atribuir a entrada circundante a um analisador HTML.

Conecte uma entidade numérica a uma saída aritmética de referência numérica observável. Keep é um ponto de código ao lado do resultado de uma passagem e, em seguida, verifique onde está disfarçado como o escapador de entidade html entra. Um desenvolvedor que vê 😀 no conteúdo exportado agora pode revisar as referências do decodificador como uma descoberta estreita de referência de caracteres numéricos html. A decisão prática por trás deste artigo é específica: as referências de caracteres numéricos escrevem um ponto de código Unicode em decimal ou hexadecimal. Esta postagem mostra como lê-los, por que um emoji é uma referência em vez de duas e de onde vêm os números. A ação do leitor é igualmente concreta: vincula-se ao escaper da entidade HTML e demonstra a decodificação de uma referência numérica, apontando para a seção 'Entrada e saída suportadas' da página da ferramenta para os formulários de referência que ela aceita.