Vnější, detekční a opravné kódy
Vnější kódy
Každý znak má svoji ordinální(numerickou) hodnotu.
Vlastnosti zobrazení znak - ordinální hodnota:
- Lexikální uspořádání
- Snadný převod desítkových číslic na numerickou hodnotu
Tabulky kódů viz
Unicode
- UNICODE
- http://www.unicode.org/
Jeden znak zobrazen dvěma nebo čtyřmi bajty.
Standard definuje i název znaku, převodní tabulky malá-velká písmena atp.
Nevýhody: násobná délka textu, větší znaková sada.
- UCS-2
- (Universal coded Character Set)
Je základní způsob zápisu Unicode znaků, 2 bajty na znak.
- UTF-8
- (Universal Transformation Format)
Nejpoužívanější zobrazení Unicode znaků.
Pokud je znak ve standardním ASCII-7, zobrazí se beze změny v 1 bajtu.
Tzn. nejvyšší bit bajtu je roven nule.
Pokud znak není v ASCII, je zapsán dvěma až šesti bajty:
- 1. bajt: počet jedniček zleva vyjadřuje délku sekvence, nula je oddělovač.
- další bajty: v nejvyšších dvou bitech vždy 10
České znaky mají malé hodnoty, lze všechny zapsat dvěma bajty.
Příklad: 'Příliš'
50 c5 99 c3 ad 6c 69 c5 a1
------ ------ ------
P ř í l i š
ř: 1100 0101 1001 1001 'ř' v unicode U+0159 (hexa)
--- --
- UTF-16 a UTF-32
-
rozšíření základní šířky z 8 na 16 a 32 bitů.
- UTF-7
-
pro sedmibitový přenos e-mailem (jako Base64)
Detekční kódy
- zavedení nadbytečnosti(redundance)
Parita
- sudá (even)
- lichá (odd)
Kód 2 z 5
0 | 0 0 0 1 1 |
1 | 0 0 1 0 1 |
2 | 0 0 1 1 0 |
3 | 0 1 0 1 0 |
4 | 0 1 1 0 0 |
5 | 1 0 1 0 0 |
6 | 1 1 0 0 0 |
7 | 0 1 0 0 1 |
8 | 1 0 0 0 1 |
9 | 1 0 0 1 0 |
Opravné kódy
Příklad ztrojení:
Michal Brandejs brandejs@informatics.muni.cz