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 ” 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.
| Nazwa | Symulacja | Prezentacja | Napis | Dec | Hex |
|---|---|---|---|---|---|
| ampersand | & | & | & | & | & |
| less than | < | < | < | < | < |
| greater than | > | > | > | > | > |
| non-breaking space | |   |   |
Znaki interpunkcyjne
| Nazwa | Symulacja | Prezentacja | Napis | Dec | Hex |
|---|---|---|---|---|---|
| Left double low-9 quotation mark | ,, | „ | „ | „ | „ |
| Right double quotation mark | '' | ” | ” | ” | ” |
| Left double quotation mark | '' | “ | “ | “ | “ |
| Left pointing guillemet | << | « | « | « | « |
| Right pointing guillemet | >> | » | » | » | » |
| en dash 1 | - | – | – | – | – |
| em dash 2 | -- | — | — | — | — |
| horizontal ellipsis 3 | ... | … | … | … | … |
- 1
&endash;i–nie są standardowe (wynalazek Małomiętki) i nie powinno się ich używać - 2
&emdash;i—nie są standardowe (wynalazek Małomiętki) i nie powinno się ich używać - 3 również three dot leader
Znaki towarowe
| Nazwa | Symulacja | Prezentacja | Napis | Dec | Hex |
|---|---|---|---|---|---|
| copyright sign | (c) | © | © | © | © |
| trade mark sign | TM | ™ | ™ | ™ | ™ |
| registered sign 1 | (R) | ® | ® | ® | ® |
| euro sign | ? | € | € | € | € |
- 1 również registered trade mark sign
Znaki semigraficzne
| Nazwa | Symulacja | Prezentacja | Napis | Dec | Hex |
|---|---|---|---|---|---|
| black spade 1 | ? | ♠ | ♠ | ♠ | ♠ |
| black club 2 | ? | ♣ | ♣ | ♣ | ♣ |
| black heart 3 | ? | ♥ | ♥ | ♥ | ♥ |
| black diamond 4 | ? | ♦ | ♦ | ♦ | ♦ |
| bullet 5 | * | • | • | • | • |
| middle dot 6 | * | · | · | · | · |
| leftwards arrow | <- | ← | ← | ← | ← |
| upwards arrow | ^ | ↑ | ↑ | ↑ | ↑ |
| rightwards arrow | -> | → | → | → | → |
| downwards arrow | v | ↓ | ↓ | ↓ | ↓ |
| leftwards double arrow | <= | ⇐ | ⇐ | Ⅼ | ⇐ |
| upwards double arrow | ^^ | ⇑ | ⇑ | Ⅽ | ⇑ |
| rightwards double arrow | => | ⇒ | ⇒ | Ⅾ | ⇒ |
| downwards double arrow | v | ⇓ | ⇓ | Ⅿ | ⇓ |
| downwards arrow with corner leftwards 7 | ? | ↵ | ↵ | ⅑ | ↵ |
- 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
| Nazwa | Symulacja | Prezentacja | Napis | Dec | Hex |
|---|---|---|---|---|---|
| degree sign | st. | ° | ° | ° | ° |
| superscript one 1 | ^1 | ¹ | ¹ | ¹ | ¹ |
| superscript two 2 | ^2 | ² | ² | ² | ² |
| superscript three 3 | ^3 | ³ | ³ | ³ | ³ |
| micro sign | u | µ | µ | µ | µ |
| multiplication sign | * | × | × | × | × |
| division sign | / | ÷ | ÷ | ÷ | ÷ |
| minus sign | - | − | − | − |
- 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
| Nazwa | Symulacja | Prezentacja | Napis | Dec | Hex |
|---|---|---|---|---|---|
| i | ï | ï | |||
| O | Ø | Ø |