Encje HTML - wykaz skrócony

Sposoby reprezentacji znaków w HTML

Znaki spoza zestawu ASCII mogą być umieszczone w kodzie HTML na kilka sposobów:

Bezpośrednio
Na przykład polskie ogonki w kodowaniu ISO-8859-2: zażółć gęślą jaźń.
Jako encja nazwana (ang. literal entity, named entity) &napis;
Przykłady: & (&), © (©), « («)
Jako encja numeryczna dziesiętna &#num;
Przykłady: „ („), ” (”), — (—)
Jako encja numeryczna szesnastkowa &#xnum;
Przykłady: « («)

Każdy ze sposobów ma zalety i wady. Bezpośrednie wprowadzenie znaków wymaga edytora, który potrafi takie znaki obsłużyć i pamiętania skrótów klawiaturowych. Wprowadzanie encji jako nazwy mnemotechnicznej trwa nieco dłużej, ale pozostawia kod (w miarę) czytelnym, jednak wiele z tak wprowadzonych znaków nie będzie interpretowanych poprawnie przez starsze przeglądarki, w szczególności NN4. Znaki wprowadzone w reprezentacji numerycznej są znacznie lepiej zgodne „w dół”, jednak czytelność takich kodów dla tworzącego stronę jest niska.

Encje zawsze rozpoczynają się znakiem ampersand (&), a kończą znakiem średnika (;).

W numeracji szesnastkowej dozwolone jest używanie znaków z zakresu [0-9a-fA-F], tj. zarówno małych, jak i dużych liter.

Czym są encje?

Na potrzeby tworzenia stron WWW wystarczy uważać encje za mniej lub bardziej wygodny sposób kodowania znaków spoza zestawu ASCII. Tak naprawdę, encje są makrodefinicjami. Definicje encji znajdują się w DTD danego typu dokumentu.

Przykład 1
Jeśli w DTD znajduje się wpis:
    <!ENTITY autor "Autorem jest Adam Mickiewicz">
wówczas taki kod:
    &autor;
wyświetli napis:
Autorem jest Adam Mickiewicz

Widać teraz uczynione na wstępie uproszczenie: to, co nazywam encją, precyzyjniej byłoby nazwać odniesieniem (albo odsyłaczem) do znaku (ang. character reference); encja bowiem jest pojęciem szerszym. Rozróżnienie pomijam z przyczyn praktycznych.

Znaki spoza zestawu ASCII w generated content

W przypadku generowanej zawartości (ang. generated content) możliwość wprowadzania znaków spoza ASCII jest bardzo ograniczona. Dopuszczalna jest jedynie (?) konstrukcja \hex, gdzie hex jest ciągiem znaków z odpowiedniej sekwencji &#xhex;, np. right double quotation mark, kodowany szesnastkowo jako &#x201d; zapisuje się jako \201d.

Żeby zagwarantować wyświetlenie spacji po takiej sekwencji, należy poprzedzić ją znakiem odwrotnego ukośnika (\ ). Jest tak dlatego, że dopuszczalna długość sekwencji szesnastkowej wynosi 6 znaków, sekwencje rozpoczynające się odwrotnym ukośnikiem nie mają znaku kończącego (dla encji w HTML znakiem takim jest średnik), więc spacja napotkana bezpośrednio po sekwencji krótszej niż 6 znaków jest do niej włączana i pomijana. Innym sposobem jest używanie zawsze wszystkich sześciu znaków, co usuwa niejednoznaczności zapisu, np. \00201d.

Zestawy najczęściej potrzebnych znaków

Zestaw podstawowy

Znaki z tego zestawu obsługiwane są przez wszystkie przeglądarki, ponadto trzech pierwszych z nich (ampersand, mniejszy niż i większy niż) nie wolno w ogóle w HTML wprowadzać bezpośrednio. Jest tak dlatego, że znaki < oraz > służą do tworzenia znaczników HTML, a & jest znakiem rozpoczynającym encje.

Od powyższej zasady istnieją wprawdzie wyjątki, ale ze względu na błędną interpretację standardów przez przeglądarki lepiej na nich nie polegać.

Ostatni z podanych, twarda spacja (ang. non-breaking space), używana jest zamiast zwykłej spacji i zapobiega złamaniu tekstu w miejscu wstawienia. W niektórych przypadkach używana jest do uzyskania niewielkich odstępów wokół tekstu (choć takie jej użycie uważa się za nieprofesjonalne) oraz do „podpowiedzenia” przeglądarkom, żeby wyświetliły pewien, skądinąd pusty, element blokowy lub komórkę tabeli.

Tab. 1 Podstawowe znaki
Nazwa Symulacja Prezentacja Napis Dec Hex
ampersand & & &amp; & &
less than < < &lt; &#60; &#x3C;
greater than > > &gt; &#62; &#x3E;
non-breaking space     &nbsp; &#160; &#xa0;

Znaki interpunkcyjne

Tab. 2 Znaki interpunkcyjne w HTML
Nazwa Symulacja Prezentacja Napis Dec Hex
Left double low-9 quotation mark ,, &bdquo; &#8222; &#x201e;
Right double quotation mark '' &rdquo; &#8221; &#x201d;
Left double quotation mark '' &ldquo; &#8220; &#x201c;
Left pointing guillemet << « &laquo; &#171; &#xab;
Right pointing guillemet >> » &raquo; &#187; &#xbb;
en dash 1 - &ndash; &#8211; &#x2013;
em dash 2 -- &mdash; &#8212; &#x2014;
horizontal ellipsis 3 ... &hellip; &#8230; &#x2026;
  • 1 &endash; i &#150; nie są standardowe (wynalazek Małomiętki) i nie powinno się ich używać
  • 2 &emdash; i &#151; nie są standardowe (wynalazek Małomiętki) i nie powinno się ich używać
  • 3 również three dot leader

Znaki towarowe

Tab. 3 Znaki towarowe i handlowe
Nazwa Symulacja Prezentacja Napis Dec Hex
copyright sign (c) © &copy; &#169; &#xA9;
trade mark sign TM &trade; &#8482; &#x2122;
registered sign 1 (R) ® &reg; &#174; &#xAE;
euro sign ? &euro; &#8364; &#x20AC;
  • 1 również registered trade mark sign

Znaki semigraficzne

Tab. 4 Znaki semigraficzne
Nazwa Symulacja Prezentacja Napis Dec Hex
black spade 1 ? &spades; &#9824; &#x2660;
black club 2 ? &clubs; &#9827; &#x2663;
black heart 3 ? &hearts; &#9829; &#x2665;
black diamond 4 ? &diams; &#9830; &#x2666;
bullet 5 * &bull; &#8226; &#x2022;
middle dot 6 * · &middot; &#183; &#xB7;
leftwards arrow <- &larr; &#8592; &#x2190;
upwards arrow ^ &uarr; &#8593; &#x2191;
rightwards arrow -> &rarr; &#8594; &#x2192;
downwards arrow v &darr; &#8595; &#x2193;
leftwards double arrow <= &lArr; &#8556; &#x21D0;
upwards double arrow ^^ &uArr; &#8557; &#x21D1;
rightwards double arrow => &rArr; &#8558; &#x21D2;
downwards double arrow v &dArr; &#8559; &#x21D3;
downwards arrow with corner leftwards 7 ? &crarr; &#8529; &#x21B5;
  • 1 również black spade suit
  • 2 również black club suit lub shamrock
  • 3 również black heart suit lub valentine
  • 4 również black diamond suit
  • 5 również black small circle albo round filled bullet (?)
  • 6 również Georgian comma lub Greek middle dot
  • 7 również carriage return

Symbole jednostek i matematyczne

Tab. 5 Symbole jednostek i matematyczne
NazwaSymulacjaPrezentacjaNapisDecHex
degree sign st. ° &deg; &#176; &#xB0;
superscript one 1 ^1 ¹ &sup1; &#185; &#xB9;
superscript two 2 ^2 ² &sup2; &#178; &#xB2;
superscript three 3 ^3 ³ &sup3; &#179; &#xB3;
micro sign u µ &micro; &#181; &#xB5;
multiplication sign * × &times; &#215; &#xD7;
division sign / ÷ &divide; &#247; &#xF7;
minus sign - &minus; &#8722
  • 1 również superscript digit one
  • 2 również superscript digit two albo squared
  • 3 również superscript digit three albo cubed

Rzadziej spotykane litery

Tu zamieszczam litery, które są rzadko spotykane w tekstach i zwykle zastępowane przybliżeniami, jednak przy starannej typografii powinny być używane.

ï (naïve)
np. source code with naïve syntax highlighting
Ø (Øpera)
np. przeglądarka Øpera
Tab. 6 Rzadziej spotykane litery
Nazwa Symulacja Prezentacja Napis Dec Hex
i ï &#239;
O Ø &#216;