Ymmärrän syyn, miksi suurin osa HTML-merkkikokonaisuuksista luotiin, mutta en ymmärrä tarkoitusta, joka on ampersand HTML -entiteetin takana. & sisältää enemmän bittejä kuin & -symboli, ja siinä on jopa jo &!

Miksi päätettiin, että ampersandit tulisi koodata muodossa, joka vaatii enemmän tietoja sen sijaan, että käyttäisit vain symbolia?

Kommentit

  • Se on kuin tapamme sisällyttää lainaus toiseen tarjoukseen. Tietokoneilla on jo pitkään ollut tämä ongelma : koodi voi olla tietoa eri tilanteessa ja data voi olla koodia. mikä tekee tietokoneista erilainen kuin tavalliset koneet ja mikä tekee ihmisten kielen erilaiseksi kuin eläinten aiheuttamat äänet. Mene nyt eteenpäin ja viita itseäsi!

Vastaa

Epäselvyyden välttämiseksi. Oletetaan, että haluat kirjoittaa verkkosivuston HTML. Kirjoitat rivin: ”Jos haluat kirjoittaa kirjaimellisen <, sinun on kirjoitettava & lt ;.” Voit kirjoittaa sen HTML-muotoon:

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

… hups. Jotta se toimisi, sinulla on oltava jokin tapa erottaa merkki & HTML-syntaksista, joka alkaa &. Joten sinun on kirjoitettava:

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

… joka näyttää oikein.

Kommentit

  • Sanoisin sen olevan sallia epäselvyys. Pystyä sisällyttämään kaksi tulkintatasoa yhteen asiayhteyteen.
  • @ user251748 Tämä ’ ei salli epäselvyyttä, se ’ selvittää sen.

Vastaa

Näyttää siltä, että tämä menee aina takaisin vuonna 1968 keksittyyn SCRIPT: ään.

karkeasti ottaen SCRIPTistä tuli SCRIPT / VS, josta tuli GML, josta tuli SGMLguid, josta tuli HTML

Tässä on alkuperäinen asiakirja, jossa esitellään SCRIPT:

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

Miksi valita &? Kuvittele, että olet pääteikkunassa. sinulla ei ole hiirtä. Et voi käyttää nuolinäppäimiä Voit kirjoittaa vain komentoriville. Jos haluat poistaa rivin, kirjoita , poista merkki kirjoittamalla @

Näet loppua kohti ¢ käytetään merkitsemään pakomerkkiä. sentti oli aiemmin näppäimistöillä (muutos 6), mutta se pudotettiin. (jotain tekemistä ascii: n kanssa) useimmat näppäimistöt korvasivat sen nimellä ^ mutta jotkut ¬

Joten yhtäkkiä ohjelmoida SCRIPT: ssä sinulla on erittäin vaikea kirjoittaa pakomerkkiä uusille tietokoneille. Sinun on valittava korvaava merkki. Jos käytät yhtä symbolia samassa näppäimessä, jotkut ihmiset eivät pysty kirjoittamaan sitä, koska näppäimistönvalmistajat ovat edelleen riitaisia.

Sinun on valittava korvaava pakomerkki sille, joka oli aiemmin avaimessa 6. Mitä valitset?

kirjoita kuvan kuvaus täällä

Kommentit

  • En usko ’ usko vastaustasi todella vastaa kysymykseen, mutta pidän todella, todella vastauksestasi.
  • @ChrisG Tämä on ainoa vastaus kysymykseen: miksi & on pakomerkki HTML: ssä? Koska kuitenkin vastaus, joka selittää, mikä pakomerkki hyväksytään, kysymys on oletettavasti huonosti ilmaistu.
  • @DavidArno Mutta esitetty kysymys ei ollut ’ t miksi & on paeta-merkki, sen vuoksi & on pakenemaan itseltään f.
  • On totta, että minun oli tulkittava kysymystä hieman syvemmällä tasolla. Mutta oli mielenkiintoista tutkia vastausta
  • @SebastianRedl, joo, näen sen nyt. Kuitenkin tapa, jolla kysymys on muotoiltu, luin sen seuraavasti: ” miksi & käytetään pakomerkkinä, kun & itsensä täytyy sitten paeta? ” Onneksi jotkut teistä pystyvät lukemaan huonosti muotoiltuja kysymyksiä kuin minä, joten mitä OP halusi tietää sai vastauksen 🙂

Vastaa

Missä tahansa datamuodossa pakenemismekanismi täytyy välttää itse. Pakomerkki on erikoishahmo.

Haluan esimerkiksi näyttää tämän tekstin:

Ampersandit poistetaan kuten &amp;

Jos kirjoitan tämän HTML: n nimellä

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

se näytetään kuten:

Ampersandit poistetaan kuten &

Joten minun on todella kirjoitettava:

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

joka näkyy oikein muodossa:

Ampersandit poistetaan kuten &amp;

Monilla kielillä taaksepäin viiva on paeta merkki. Tällöin kirjaimellinen merkkijono C:\projects täytyy välttää nimellä C:\\projects.

Jos tietomuodon oletetaan olevan pystyy edustamaan mielivaltaisia tietoja, se joko tarvitsee tunnetun pituuden tai erottimen. Tunnettujen pituuksien käsittely on hankalaa ihmisen muokattavissa muodoissa. Mutta jos meillä on erotin, sen on oltava pakeneva. Joten tarvitsemme pakomekanismin, ja pakomekanismin täytyy paeta itsestään. Yksi vähimmäisratkaisu on käyttää erotinta hahmona. Esimerkiksi. erottimelle " merkkijono don"t do that voidaan koodata nimellä "don""t do that".

Kommentit

  • ASCII Escape -hahmo on alun perin suunniteltu juuri tähän tarkoitukseen. Sen koko nimi on Data Link Escape . Käytin sitä aikaisemmin modeemi / mux-tilanteessa.

Vastaa

Koska ”&” käynnistää entiteetin, joten sen käyttö itsessään ei ole kelvollinen HTML-koodi (vaikka jotkin selaimet saattavat hyväksyä sen, tätä ei kuitenkaan taata).

Kommentit

  • Yksinäiset ampersandit ovat kunnossa HTML-muodossa, elleivät ne muodosta epäselvää ampersandia , nimeltään merkkiviittausta, joka ei ole ’ t määritelty HTML-standardissa. Muuten ampersandit ovat hyvin määriteltyjä.
  • @amon – varma, mutta se ’ on syytä huomata, että määritelmä siitä, milloin ne ’ re sallittu on vaihdellut eri HTML-versioiden välillä (esimerkiksi HTML2 sallii ne vain, jos niiden jälkeen ’ t seuraa aakkosnumeerista merkkiä riippumatta siitä, seurasiko puolipiste) ja että tiukimmalla määritelmälläkin on silti voitava paeta niistä joissakin olosuhteissa. Vaikka HTML sallii tämän, SGML ja XML eivät sitä tee, joten SGML-jäsentimet, joilla on HTML DTD, epäonnistuvat, ja XHTML-jäsentimet eivät myöskään hyväksy sitä ’. Siksi en suosittele ’ t suosittelevan tämän ominaisuuden käyttöä.
  • Ensin oli HTML. Sitten vallitsi kaaos, koska jokainen selaimen myyjä teki mitä haluaa. Kaaos kyllästyi vakaviin insinööreihin ™ ja loi XHTML: n. Mutta XML: n kirjoittaminen käsin on perseestä, joten kaaos jatkui. Lopuksi kaaos kodifioitiin ja kutsuttiin HTML5: ksi. Se käsittelee kaaoksen hienosti, mutta hyvin määritellyllä tavalla. HTML5: n tulkitseminen SGML-murteena ei ole enää hyödyllistä. XHTML: tä lukuun ottamatta HTML ei koskaan ollut XML. Mutta jokainen etäkäyttänyt selain tai HTML-jäsennin käsittelee HTML5: tä hienosti, ainakin syntaktisella tasolla.
  • @amon: HTML: n kirjoittaminen käsin on perseestä, ellet löydä HTML5-spesifikaatioiden lukemista virheenpalautuksesta. ’ ei kerro kuinka jäsentäjä tulkitsee miten HTML-tekstistä tulee DOM, koska siellä ’ on aivan liian monta outoa, vanhaa kulmatapaukset ja eri tapoja kirjoittaa sama asia. Ellet silti rajoita HTML-koodiasi XHTML-yhteensopivaan alajoukkoon, niin miksi ei vain kirjoittaa todellista XHTML: ää.

Vastaa

Jokaisella ohjelmointikielellä tai komentosarjakielellä on yksilölliset tunnisteet tai voit sanoa varatut avainsanat, joita kehittäjät eivät voi käyttää koodissa. Jotkut merkit on varattu myös HTML-koodiin. Ampersandia (&) käytetään kokonaisuutena varattujen merkkien näyttämiseen HTML-muodossa. Jotkut esimerkit ovat seuraavat.

&nbsp; &lt; &gt; 

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *