Comprendo la logica alla base del motivo per cui sono state create la maggior parte delle entità carattere HTML, ma non capisco lo scopo dietro lentità HTML e commerciale. & contiene più bit di un simbolo & e contiene già il & al suo interno!

Perché è stato deciso che le e commerciali dovrebbero essere codificate nel formato che richiede più dati, invece di usare solo il simbolo?

Commenti

  • È come il modo in cui abbiamo un modo per includere una citazione allinterno di unaltra citazione. I computer hanno da tempo questo problema : il codice può essere dati in una situazione diversa e i dati possono essere codice. Ovvero cosa rende i computer diversi dalle macchine ordinarie e cosa rende il linguaggio umano diverso dai rumori che fanno gli animali. Ora vai avanti e fai riferimento a te stesso!

Rispondi

Per evitare ambiguità. Supponi di voler scrivere un sito web su HTML. Scrivi la riga: “Per scrivere un letterale < devi scrivere & lt ;.” Ora, per scriverlo in HTML:

<p>To write a literal &lt; you have to write &lt;. 

… oops. Per farlo funzionare, devi avere un modo per distinguere il carattere & dalla sintassi HTML che inizia con &. Ecco perché devi scrivere:

<p>To write a literal &lt; you have to write &amp;lt;. 

… che viene visualizzato correttamente.

Commenti

  • Direi che è per consentire ambiguità. Per essere in grado di includere due livelli di interpretazione in un contesto.
  • @ user251748 That ‘ non consente ambiguità, ‘ lo chiarisce.

Risposta

Sembra che risalga a SCRIPT, inventato nel 1968.

in parole povere, SCRIPT è diventato SCRIPT / VS che è diventato GML che è diventato SGMLguid che è diventato HTML

Ecco il documento originale che introduce SCRIPT:

http://web.mit.edu/smadnick/www/papers/J002.pdf

Perché scegliere &? beh immagina di essere in una finestra di terminale. non hai il mouse. non puoi usare i tasti cursore per spostarti schermo. Puoi digitare solo dalla riga di comando. se desideri eliminare una riga, digita , per eliminare un carattere, digita @

Puoi vedere verso la fine ¢ è usato per denotare un carattere di escape. cento era sulle tastiere (turno 6), ma è stato abbandonato. (qualcosa che ha a che fare con ascii) la maggior parte delle tastiere lo ha sostituito con ^ ma alcune con ¬

Quindi, allimprovviso, per programmare in SCRIPT hai difficoltà a digitare il carattere di escape sui nuovi computer. Devi scegliere un carattere sostitutivo. Se usi uno dei simboli sullo stesso tasto, alcune persone non saranno in grado di digitarlo, perché i produttori di tastiere stanno ancora discutendo.

Devi scegliere un carattere di escape sostitutivo per quello che si trovava sulla chiave 6. Cosa scegli?

inserisci la descrizione dellimmagine qui

Commenti

  • Non ‘ penso che la tua risposta risponde davvero alla domanda, ma mi piace davvero molto la tua risposta.
  • @ChrisG Questa è lunica risposta alla domanda posta: perché & il carattere di escape in HTML? Tuttavia, poiché una risposta che spiega quale carattere di escape è stato accettato, la domanda è presumibilmente espressa male.
  • @DavidArno Ma la domanda posta non era ‘ t perché & è il carattere di escape, è per questo che è necessario eseguire lescape di & f.
  • È vero che ho dovuto interpretare la domanda a un livello leggermente più profondo. Ma è stato interessante cercare la risposta
  • @SebastianRedl, sì, ora lo vedo. Tuttavia, per come è formulata la domanda, lho letta come ” perché & viene utilizzato come carattere di escape, quando & stesso quindi deve essere scappato? ” Fortunatamente alcuni di voi sono più bravi a leggere domande mal formulate di me, quindi cosa voleva sapere lOP ricevuto risposta 🙂

Risposta

In qualsiasi formato di dati, il meccanismo di escape deve essere sfuggito da solo. Il carattere di escape è un carattere speciale.

Ad esempio, desidero visualizzare questo testo:

e commerciale sono sottoposti a escape come &amp;

Se scrivo questo HTML come

<p>Ampersands are escaped like <code>&amp;</code> 

verrà visualizzato come:

e commerciale sono preceduti da caratteri di escape come &

Quindi devo scrivere:

<p>Ampersands are escaped like <code>&amp;amp;</code> 

che viene visualizzato correttamente come:

La e commerciale è sottoposta a escape come &amp;

In molte lingue, la barra rovesciata è una via di fuga personaggio. Quindi, la stringa letterale C:\projects dovrà essere sottoposta a escape come C:\\projects.

Se si suppone che il formato dei dati essere in grado di rappresentare dati arbitrari, richiede una lunghezza nota o un delimitatore. La gestione di lunghezze note è difficoltosa nei formati modificabili dagli utenti. Ma se abbiamo un delimitatore, deve essere sfuggito. Quindi abbiamo bisogno di un meccanismo di fuga e il meccanismo di fuga deve sfuggire a se stesso. Una soluzione minima consiste nellusare il delimitatore come carattere di escape. Per esempio. per un delimitatore ", la stringa don"t do that potrebbe essere codificata come "don""t do that".

Commenti

  • Il carattere ASCII Escape è stato originariamente progettato per questo scopo esatto. Il suo nome completo è Data Link Escape . Lho già usato in una situazione modem / mux.

Risposta

Perché “&” avvia unentità, quindi utilizzarlo da solo non è “t HTML valido (sebbene alcuni browser possano accettarlo, questo non è garantito).

Commenti

  • La e commerciale solitaria va bene in HTML, a meno che non formi una e commerciale ambigua , ovvero un riferimento a carattere con nome che non è ‘ t definito nello standard HTML. Altrimenti le e commerciali sono ben definite.
  • @amon – certo, ma ‘ vale la pena notare che la definizione di quando ‘ ri consentito varia tra le diverse versioni HTML (HTML2, ad esempio, le consentiva solo se non erano ‘ seguite da un carattere alfanumerico, indipendentemente dal fatto che seguisse un punto e virgola) e che anche con la definizione più rigorosa devi ancora essere in grado di sfuggirle in alcune circostanze. Inoltre, sebbene lHTML lo permetta, né lSGML né lXML lo fanno, quindi i parser SGML con un DTD HTML falliranno, e nemmeno i parser XHTML ‘ lo accetteranno. Pertanto, ‘ t raccomanderei di utilizzare effettivamente questa funzione.
  • Prima cera lHTML. Poi cera il caos, poiché ogni fornitore di browser faceva quello che voleva. I Serious Engineers ™ erano stufi di quel caos e hanno creato XHTML. Ma scrivere XML a mano fa schifo, quindi il caos è continuato. Infine, il caos è stato codificato e chiamato HTML5. Analizza il caos perfettamente, ma in modo ben definito. Non è più utile interpretare HTML5 come un dialetto SGML. E ad eccezione di XHTML, lHTML non è mai stato XML. Ma ogni browser o parser HTML aggiornato in remoto si occuperà di HTML5 perfettamente, almeno a livello sintattico.
  • @amon: scrivere HTML a mano fa schifo, a meno che non trovi divertente leggere le specifiche HTML5 sul recupero degli errori , ‘ non si sa come il parser interpreterà il modo in cui il testo HTML diventa DOM, poiché ci sono ‘ troppe cose strane, legacy casi dangolo e modi diversi per scrivere la stessa cosa. A meno che tu non limiti comunque il tuo HTML a un sottoinsieme conforme a XHTML, nel qual caso perché non scrivere semplicemente XHTML effettivo.

Risposta

Ogni linguaggio di programmazione o linguaggio di scripting ha i suoi identificatori univoci oppure puoi dire parole chiave riservate che non possono essere utilizzate dagli sviluppatori nel codice. Alcuni caratteri sono riservati anche nellHTML. Una e commerciale (&) viene utilizzata come entità per visualizzare caratteri riservati in HTML. Alcuni degli esempi sono i seguenti.

&nbsp; &lt; &gt; 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *