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
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.