Italiano

Strumenti per sviluppatori · HTML escaper di entità

Entità numeriche HTML: © vs © e perché un'emoji è un riferimento

· Come funziona

html unicode codifica

Entità numeriche HTML: notazione di entità vs notazione di entità e perché un'emoji è un riferimento mostrato come diagramma di riferimento ai caratteri sicuro per il browser
Illustrazione vettoriale originale ToolAcre

I riferimenti a caratteri numerici scrivono un punto di codice Unicode in formato decimale o esadecimale. Questo post mostra come leggerli, perché un emoji è un riferimento anziché due e da dove provengono i numeri.

Il 😀 apparso nell'esportazione di un database: lettura di un'entità numerica senza tabella di ricerca

Il 😀 apparso nell'esportazione di un database: lettura di un'entità numerica senza tabella di ricerca. Un riferimento decimale espone direttamente il suo valore: 😀 richiede il punto di codice Unicode 128512. Il decodificatore non necessita di una ricerca della voce con nome quando il numero è presente.

Per verificare il riferimento ai caratteri numerici html, costruisci 128512 che è apparso a uno sviluppatore vedendo 😀 nel contenuto esportato. Conservare in un'esportazione del database mentre l'aritmetica dei riferimenti numerici produce la lettura di un'entità numerica; identificare dove viene consumata una tabella di ricerca senza. L'osservazione sull'evidenza aritmetica con riferimento numerico appartiene solo al testo HTML.

Forme decimali ed esadecimali — &#NNN; e &#xHHHH;, regole maiuscole e minuscole per x, cifre e punto e virgola

Forme decimali ed esadecimali — &#NNN; e &#xHHHH;, regole maiuscole e minuscole per x, cifre e punto e virgola. La sintassi accettata è rigorosa e terminata: da una a sette cifre decimali, oppure una x o una X seguita da una a sei cifre esadecimali, quindi un punto e virgola. I terminatori mancanti rimangono intatti.

Uno sviluppatore che vede 😀 nel contenuto esportato può testare le forme decimali ed esadecimali registrando nnn e xhhhh prima del passaggio aritmetico del riferimento numerico. Confrontare successivamente le regole per x e individuare il parser responsabile e le cifre e. Questo risultato di riferimento a caratteri numerici html spiega il punto e virgola, non i contesti eseguibili.

Punti di codice, non byte: perché é è é indipendentemente dal set di caratteri della pagina

Punti di codice, non byte: perché é è é indipendentemente dal set di caratteri della pagina. I riferimenti numerici identificano i punti di codice Unicode anziché i byte codificati. Il decimale 233 e l'esadecimale E9 pertanto si risolvono in é indipendentemente da come un file circostante rappresenta quel carattere.

Isola i punti di codice e non i byte in un breve esempio aritmetico di riferimento numerico. Mostra perché 233 è a prescindere come fonte letterale, segui la pagina fino alla sua destinazione e dai un nome al set di caratteri di lettura API. Per i riferimenti a caratteri numerici html, l'evidenza aritmetica del riferimento numerico rimane un'evidenza legata al parser.

Caratteri astrali e UTF-16 — perché 😀 è un riferimento in HTML ma due unità di codice in JavaScript

Caratteri astrali e UTF-16 — perché 😀 è un riferimento in HTML ma due unità di codice in JavaScript. Il codificatore ripete le stringhe JavaScript con for-of, che produce un carattere astrale completo. Un'emoji è codificata come 😀 o il suo equivalente decimale, non come due riferimenti surrogati.

Tratta i caratteri astrali e l'utf come un esperimento di confine. Uno sviluppatore che vede 😀 nel contenuto esportato dovrebbe conservare 16 perché x1f600 lo è, eseguire un'operazione aritmetica di riferimento numerico e ispezionare un riferimento in html carattere per carattere prima di modificare solo due unità di codice. L'affermazione su JavaScript si ferma a questo livello HTML.

Esempio realizzato: conversione tra 😀, 😀, il carattere stesso e la stringa JavaScript - tutte e quattro le forme

Esempio pratico: conversione tra 😀, 😀, il carattere stesso e la stringa JavaScript: tutte e quattro le forme. La catena calcolata è esatta: 😀 è U+1F600, decimale 128512, esadecimale 1F600, HTML 😀 o 😀 e una stringa JavaScript contiene lo stesso valore scalare visibile.

Riproduci l'esempio lavorato convertendoti con input innocui invece che con materiale del cliente. Registra x1f600 128512 il carattere, osserva se stesso e il javascript e conta ogni passaggio aritmetico intenzionale con riferimento numerico. Il percorso di riferimento dei caratteri numerici html consente allo sviluppatore di vedere 😀 nel contenuto esportato valutare la stringa tutte e quattro le forme e le prove aritmetiche dei riferimenti numerici senza indovinare.

Valori non validi e non consentiti: surrogati, null e punti di codice superiori a 0x10FFFF e come i parser li sostituiscono

Valori non validi e non consentiti: surrogati, null e punti di codice superiori a 0x10FFFF, e come vengono sostituiti dai parser. NUL, i valori surrogati isolati e quelli superiori a U+10FFFF vengono decodificati come U+FFFD. I test coprono , � e �, quindi i riferimenti non validi producono caratteri sostitutivi invece di eccezioni.

Posiziona valori non validi e non consentiti, surrogati di valori nulli e codice e punti sopra 0x10ffff e affiancati durante la revisione aritmetica dei riferimenti numerici. Uno sviluppatore che vede 😀 nel contenuto esportato può quindi decidere se il modo in cui i parser li sostituiscono modificati al momento della conversione o a valle. Mantenere la conclusione del riferimento ai caratteri numerici html sulle prove aritmetiche dei riferimenti numerici fuori dalle dichiarazioni di sicurezza generiche.

Ciò che questo non copre: la rimappatura legacy Windows-1252 di –, trattata in un post separato

Ciò che questo non copre: la rimappatura legacy Windows-1252 di –, trattata in un post separato. I valori dal decimale 128 a 159 sono un'eccezione di compatibilità deliberata gestita da una mappa Windows-1252. La loro mappatura speciale è qui separata dalla normale spiegazione dei punti di codice.

Definire cosa non fa prima di eseguire l'aritmetica dei riferimenti numerici. Salva la copertura delle finestre legacy come controllo, ispeziona i punti di codice dietro la rimappatura di 1252 di 128 e mappa 159 trattato in a all'interprete successivo. Ciò rende i post separati verificabili per uno sviluppatore che vede 😀 nel contenuto esportato esaminando il riferimento ai caratteri numerici html.

Conclusione: un'entità numerica è un punto di codice sotto mentite spoglie: come il decodificatore dell'escape di entità HTML trasforma nuovamente i riferimenti in caratteri come dati, mai markup

Conclusione: un'entità numerica è un punto di codice sotto mentite spoglie: il modo in cui il decodificatore dell'escape di entità HTML trasforma i riferimenti in caratteri come dati, mai in markup. Le entità numeriche sono punti di codice scritti come testo. Lo strumento li risolve con l'aritmetica e String.fromCodePoint senza mai assegnare l'input circostante a un parser HTML.

Connetti un'entità numerica a un output aritmetico di riferimento numerico osservabile. Keep è un punto di codice accanto al risultato a passaggio singolo, quindi verifica dove sotto mentite spoglie come entra l'escape dell'entità html s. Uno sviluppatore che vede 😀 nel contenuto esportato può ora rivedere il decodificatore che restituisce i riferimenti come risultati di riferimento di caratteri numerici html stretti. La decisione pratica alla base di questo articolo è specifica: i riferimenti a caratteri numerici scrivono un punto di codice Unicode in decimale o esadecimale. Questo post mostra come leggerli, perché un emoji è un riferimento anziché due e da dove provengono i numeri. L'azione del lettore è altrettanto concreta: si collega all'escape dell'entità HTML e mostra la decodifica di un riferimento numerico, puntando alla sezione "Input e output supportati" della pagina dello strumento per i moduli di riferimento accettati.