.
Přednáška 3:
Osnova přednášky
Vnitřní reprezentace dat
Uložení dat v paměti počítače
. .
Organizace dat na discích
Vnitřní reprezentace dat
Datové formáty
• Uložení dat v paměti počítače — textová data — zvuková data — obrazová data • Organizace dat na discích — zařízení počítače — soubory a adresáře — specifikace souborů
Výpočetní technika I Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně
• Datové formáty — vyjádření hodnot datového typu — formátová specifikace — textový a binární formát
[email protected]
. Výpočetní technika I
.
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
Uložení znaků v počítači • Znaky v počítači — zobrazitelné znaky – všechny znaky, které slouží pro zápis textové informace (písmena, číslice, interpunkční znaménka, matematické symboly apod.) — řídicí znaky – slouží k ovládání přídavných zařízení (nebo programu)
Přednáška 3:
Textová data
Obrazová data
Datové formáty
3 / 35
• ASCII (ISO 646) — American Standard Code for Information Interchange • UCS (ISO 10646) — Universal Character Set • UTF — UCS Transformation Format
informace • Aby bylo možné zpracovat textovou informaci, bylo nutné přiřadit jednotlivým znakům číselné ekvivalenty • Znaky a symboly se uchovávají ve formě čísel podle převodní tabulky
Přednáška 3: Vnitřní reprezentace dat
• EBCDIC — Extended Binary Coded Decimal Interchange Code
Zvuková data
Organizace dat na discích
• Počítač není schopen zpracovávat jiné než číselné
. Výpočetní technika I
Převodní tabulky
Vnitřní reprezentace dat
Uložení dat v paměti počítače
2 / 35
Přednáška 3: Vnitřní reprezentace dat
• Unicode
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
4 / 35
.
Přednáška 3:
EBCDIC
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
• Extended Binary Coded Decimal Interchange Code
Přednáška 3:
Uložení dat v paměti počítače
• Prehistorický kód navržený IBM na konci 50. let
Textová data Zvuková data
20. století • Vychází z kódu používaného pro děrné štítky a BCD kódu využívaného v periferiích IBM • Kódovací prostor 8 bitů – 256 znaků • Rozložení kódu
ASCII
Vnitřní reprezentace dat
Obrazová data
Organizace dat na discích Datové formáty
• American Standard Code for Information Interchange • Kódovací prostor 8 bitů – 256 znaků • Původně 7bitový kód + 1 paritní bit pro kontrolu • Rozložení kódu — řídicí znaky – #0–31, #127 — zobrazitelné znaky – #32–126, #128–255 • Kód má dvě části — základní část – #0–127 (původních 7 bitů) — rozšířená část – #128–255 (přidání 8. bitu)
— řídicí znaky – #0–63, #255 — zobrazitelné znaky – #64–254 • Nevýhoda: znaky anglické abecedy netvoří spojitou
posloupnost, nelze použít regulární výraz
. Výpočetní technika I
Přednáška 3:
Vnitřní reprezentace dat
Přednáška 3: Vnitřní reprezentace dat
5 / 35
ASCII – základní část
Uložení dat v paměti počítače
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
Přednáška 3:
ASCII – rozšířená část
Vnitřní reprezentace dat
Uložení dat v paměti počítače
Textová data
Textová data
Zvuková data
Zvuková data
Obrazová data
Obrazová data
Organizace dat na discích
Organizace dat na discích
Datové formáty
Datové formáty
6 / 35
• Národní znaky – určeny pro zobrazení textů v jiných
jazycích než angličtině • Žádný znakový kód nebyl původně navržen pro
zobrazování národních znaků • Základní kód ASCII neposkytuje dostatečný prostor pro
uložení všech národních znaků • Využití zbylých 128 pozic kódu ASCII (paritní bit) • Způsob využití zcela nejednotný, existence různých
znakových sad pro různé skupiny jazyky
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
7 / 35
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
8 / 35
.
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
Varianty kódování českých nár. znaků • Kód bratrů Kamenických — KEYBCS2, CP895 — pro osobní počítače pod MS-DOS — využití sady CP437 s náhradou pozic 128–171 českými a slovenskými národními znaky
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
• PC Latin 2 — IBM Latin 2, CP852 — pro osobní počítače pod MS-DOS — podpora středoevropských jazyků používajících latinku (čeština, slovenština, polština, rumunština, maďarština, srbochorvatština aj.)
. Výpočetní technika I
Přednáška 3:
Vícebajtová kódování
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
9 / 35
Přednáška 3: Vnitřní reprezentace dat
• I 256 pozic kódu ASCII přestává stačit, hledají se nové
možnosti
. Výpočetní technika I
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Zvuková data Obrazová data
Organizace dat na discích Datové formáty
Přednáška 3: Vnitřní reprezentace dat
11 / 35
Přednáška 3: Vnitřní reprezentace dat
10 / 35
Unicode – Little Endian a Big Endian • Little Endian — méně významový bajt leží na nižší adrese — takto kódované soubory začínají znakem FF FE — typické pro Windows — příklad: znak „A“ = 41 00 • Big Endian — méně významový bajt leží na vyšší adrese — takto kódované soubory začínají znakem FE FF — typické pro programovací jazyk Java — příklad: znak „A“ = 00 41
• Unicode — jeden znak ukládán vždy na 2 B — snaha o vytvoření jediné globální znakové sady — dolní polovina ASCII (#0–127) se ukládá pod stejnými hodnotami (00000000 xxxxxxxx) — číselný kód se pro přehlednost zapisuje v hexadecimální soustavě, např. „A“ = \u0041 — varianty Little Endian a Big Endian
. Výpočetní technika I
• ISO Latin 2 — ISO 8859-2 — podpora středoevropských a východoevropských jazyků psaných latinkou nebo latinskou transkripcí — použitelné i pro němčinu a finštinu • Windows-1250 — CP1250 — pro operační systém Windows — podpora středoevropských jazyků a němčiny — velmi podobné kódu ISO 8859-2 (pouze 6 rozdílů v českých znacích)
Textová data
• ISO 10646 — UCS = Universal Character Set — univerzální prostor 4 B, tj. přes 4 miliardy znaků — zbytečně neúsporné řešení
Varianty kódování českých nár. znaků • KOI8čs — Kod Obmena Informaciey — vyvinut v SSSR v rámci RVHP
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
12 / 35
.
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
UTF – UCS Transformation Format • Zmírňuje redundanci univerzálního kódu UCS • Varianty UTF-8, UTF-16, UTF-32 • UTF-8 — odstraňuje nevýhody Unicode (dvojnásobná délka souborů oproti ASCII, problémy s Little/Big Endianem) — znaky jsou kódovány na 1–3 B
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače
Unicode Význam. b. max.
Zvuková data Obrazová data
Organizace dat na discích Datové formáty
. Výpočetní technika I
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
. Výpočetní technika I
Kódování UTF-8
7
0xxxxxxx
0080–07FF
11
110xxxxx 10xxxxx
0800–FFFF
16
1110xxxx 10xxxxxx 10xxxxxx
Přednáška 3: Vnitřní reprezentace dat
13 / 35
Kódování národních znaků – shrnutí • Příklad: textový soubor se slovem „Béďa“ • ASCII / ISO 8859-2 — 42 E9 EF 61
Přednáška 3:
Vnitřní reprezentace dat
Textová data Zvuková data Obrazová data
Organizace dat na discích
• Unicode Little Endian — FF FE 42 00 E9 00 0F 01 61 00
10 B
• Unicode Big Endian — FE FF 00 42 00 E9 01 0F 00 61
10 B
• UTF-8 — EF BB BF 42 C3 A9 C4 8F 61 �
9B
Přednáška 3: Vnitřní reprezentace dat
. Výpočetní technika I
Uložení dat v paměti počítače
4B
15 / 35
• UTF signatura – označení pořadí bajtů v souboru
Textová data
• Převod mezi Unicode a UTF-8� 0000–007F
BOM – Byte-Order Mark
Datové formáty
. Výpočetní technika I
Kódování
Obsah souboru
UTF-8 UTF-16 Little Endian UTF-16 Big Endian UTF-32 Little Endian UTF-32 Big Endian
EF BB BF … FF FE … FE FF … FF FE 00 00 … 00 00 FE FF …
Přednáška 3: Vnitřní reprezentace dat
14 / 35
Uložení zvukové informace • V zásadě dva způsoby uložení — přímý záznam — MIDI sekvence • Přímý záznam (pulsně kódová modulace, PCM) — digitalizace frekvencí a amplitud zvukových vln — pravidelné odečítání hodnoty signálu a její záznam v binární podobě — určující parametry: vzorková frekvence, jemnost rozlišení jednotlivých hodnot — výsledkem rozsáhlé soubory (např. WAV), často ztrátová komprese (MP3, WMA, AAC, Ogg Vorbis) — bezztrátová komprese např. ALAC nebo FLAC
Přednáška 3: Vnitřní reprezentace dat
16 / 35
.
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
Uložení zvukové informace • MIDI sekvence (Musical Instruments Digital Interface) — stručný digitální popis výšky jednotlivých tónů, jejich intenzity, délky a nejrůznějších doprovodných efektů — výstupní zvukové zařízení (zvuková karta, klávesy) z těchto informací umí vytvářet zvuky — signál neobsahuje zvuk, ale pouze velmi stručné pokyny pro jeho vytvoření — nelze zaznamenat lidský hlas ani žádný hudební nástroj, který syntetizátor nedokáže zahrát — velmi malé soubory, převod WAV → MP3/MIDI náročný
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
• Příklad: nekomprimovaný soubor se zvukovou stereo
nahrávkou o délce 3 minuty, vzorkovací frekvenci 44,1 kHz a velikosti vzorku 16 b. 2 · 44 100 · 16 · 180 b = 254 016 000 b = 31,752 MB . Výpočetní technika I
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Textová data Zvuková data Obrazová data
Organizace dat na discích Datové formáty
Přednáška 3: Vnitřní reprezentace dat
17 / 35
Uložení obrazové informace • Vektorová grafika — obraz tvořen různými geometrickými objekty (body, přímky, křivky, …) — využití pro tvorbu ilustrací, diagramů, schémat apod.
. Výpočetní technika I
• Rastrová grafika — obraz tvořen maticí bodů (pixelů), jejichž barva se skládá ze tří složek – červené, zelené a modré (RGB) — intenzitu barvy každé složky ukládáme v paměti zvlášť — dnes nejrozšířenější model: odstín každého bodu uložen jako 8bitové číslo (28 = 256 možností) — informace o barvě každého pixelu zabere v paměti 3 B (3 složky × 1 B), celkem 2563 = 16 777 216 barev — model RGBA používá ještě bajt pro uložení informace o intenzitě průhlednosti pixelu (tzv. alfa kanál) — model CMYK (Cyan, Magenta, Yellow, blacK) používají barevné tiskárny
Přednáška 3:
Uložení dat v paměti počítače Organizace dat na discích Zařízení počítače Soubory a adresáře
18 / 35
Přednáška 3: Vnitřní reprezentace dat
Zařízení počítače
Vnitřní reprezentace dat
• Znaková zařízení — chovají se jako soubory — pracují vždy s jedním znakem — vstupně-výstupní zařízení
Specifikace souborů
• Příklad: nekomprimovaný rastrový obraz o rozměrech
Datové formáty
1600 × 1200 bodů v modelu RGB 1 600 · 1 200 · 3 B = 5 760 000 B = 5,76 MB
. Výpočetní technika I
Uložení obrazové informace • Opět dva způsoby uložení — rastrová grafika — vektorová grafika
Přednáška 3: Vnitřní reprezentace dat
19 / 35
. Výpočetní technika I
• Bloková zařízení — pracují s celými bloky bajtů (soubory) — jednotky vnějších pamětí
Přednáška 3: Vnitřní reprezentace dat
20 / 35
.
Přednáška 3:
Jednotky
Vnitřní reprezentace dat
Uložení dat v paměti počítače Organizace dat na discích Zařízení počítače
• Blokově orientovaná zařízení
Uložení dat v paměti počítače
• A, B – disketové jednotky
Organizace dat na discích
• C – pevný disk
Zařízení počítače Soubory a adresáře
Soubory a adresáře Specifikace souborů
Datové formáty
Přednáška 3:
• Dále jednotky CD-ROM, DVD-ROM, Flash disky, ZIP
Specifikace souborů
Datové formáty
drive apod.
Soubor
Vnitřní reprezentace dat
• Pojmenovaná konečná posloupnost bytů s definovaným
umístěním ve vnější paměti • Základní množina dat určitého typu • Mají jedinečná jména – např. v OS Windows — maximálně 255 znaků — za tečkou přípona (určuje typ souboru) — povolené znaky jsou A–Z, a–z, 0–9, $, %, ’, -, @, {, }, ˜, �, !, #, (, ), &, _, … • Mají atributy (různý význam v různých OS)
. Výpočetní technika I
Přednáška 3:
Adresář
Vnitřní reprezentace dat
Uložení dat v paměti počítače Organizace dat na discích Zařízení počítače Soubory a adresáře Specifikace souborů
Datové formáty
21 / 35
Přednáška 3: Vnitřní reprezentace dat
• Pod operačním systémem Windows označován jako
. Výpočetní technika I
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače
složka
Organizace dat na discích
• Pojmenovaná množina jiných adresářů a souborů
Zařízení počítače Soubory a adresáře
• Tvoří hierarchickou strukturu
Specifikace souborů
Datové formáty
• Mají jména jako soubory
Přednáška 3: Vnitřní reprezentace dat
22 / 35
Specifikace souboru • Určuje jméno a cestu k souboru • Přístup k souboru — úplná specifikace – jednotka:\cesta\soubor, kde cesta=[adresář1[\adresář2[\adresář3]]]
— neúplná specifikace – vynechání označení jednotky, vynechání cesty nebo pouze název souboru
• Na každém zařízení existuje kořenový adresář, v OS Windows značíme \ • V jednom adresáři se vyskytují soubory s jedinečnými
jmény • Každá jednotka má svůj aktuální adresář
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
23 / 35
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
24 / 35
.
Přednáška 3:
Cesta
Vnitřní reprezentace dat
Uložení dat v paměti počítače Organizace dat na discích Zařízení počítače Soubory a adresáře Specifikace souborů
Datové formáty
• Určuje konkrétní adresář v hierarchické struktuře
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače
• Jednotlivé podadresáře oddělujeme \ • Cesta může být — relativní – od aktuálního adresáře — absolutní – od kořenového adresáře
Organizace dat na discích Zařízení počítače Soubory a adresáře Specifikace souborů
Datové formáty
• Speciální adresáře — rodičovský (nadřazený) – označujeme .. — aktuální (aktivní) – označujeme . — kořenový – označujeme \
. Výpočetní technika I
Přednáška 3:
Uložení dat v paměti počítače Organizace dat na discích Datové formáty Vyjádření hodnot datového typu Formátová specifikace Textový a binární formát
25 / 35
• Datový formát – způsob uložení dat v jakékoli paměti
• Dvojklikem (nebo označení + Enter) na ikonu
umístěnou na ploše
. Výpočetní technika I
Přednáška 3:
Organizace dat na discích Datové formáty Vyjádření hodnot datového typu
1a
Formátová specifikace
Vyjádření hodnot datového typu • Příklad 2: příjmení osoby – Cimrman a) s určením délky 7
’C’ ’i’ ’m’ ’r’ ’m’ ’a’ ’n’
07
43
69
6d
72
6d
61
6e
43
69
6d
72
6d
61
6e
00
’C’ ’i’ ’m’ ’r’ ’m’ ’a’ ’n’ ’ ’
Textový a binární formát
b) zápis čísla pomocí znaků (znakový kód) 110010 110110
. Výpočetní technika I
00110010 00110110
Přednáška 3: Vnitřní reprezentace dat
b) s oddělovači
32 36
27 / 35
26 / 35
Přednáška 3: Vnitřní reprezentace dat
Vnitřní reprezentace dat
Uložení dat v paměti počítače
počítače • Příklad 1: věk osoby – 26 let a) převod čísla do dvojkové soustavy 00011010
• Výběrem z nabídky pravého tlačítka myši
Soubor/Otevřít
Vyjádření hodnot datového typu
11010
• Použití příkazu „Spustit“ (Win+R) a volbou souboru
• Otevření v příslušném programu přes nabídku
Přednáška 3: Vnitřní reprezentace dat
Vnitřní reprezentace dat
Spouštění spustitelných souborů ve Windows
. Výpočetní technika I
’’
’’
43
69
6d
72
6d
61
6e
20
20
20
43
69
6d
72
6d
61
6e
0d
0a
Přednáška 3: Vnitřní reprezentace dat
28 / 35
.
Přednáška 3:
Porovnání způsobů uložení
Vnitřní reprezentace dat
Uložení dat v paměti počítače Organizace dat na discích Datové formáty Vyjádření hodnot datového typu
• Tvar použitý v operační paměti 43
69
6d
72
6d
61
Uložení dat v paměti počítače
6e
00
1a
Organizace dat na discích Datové formáty
• Tvar použitý pro vstup nebo výstup
Vyjádření hodnot datového typu Formátová specifikace
Formátová specifikace Textový a binární formát
Přednáška 3:
43 69 6d 72 6d 61 6e 20 20 20 32 36
Formátová specifikace
Vnitřní reprezentace dat
Textový a binární formát
• V operační paměti jsou obvykle data ve tvaru vhodném
pro zpracování (výpočty, řazení, …) • Viditelný tvar (tiskárna, displej, klávesnice, …) musí být
složen výhradně z čitelných (zobrazitelných) znaků • Formátová specifikace – popis formátu, tj. přesný
význam jednotlivých bitů (bytů) dat • Příklad formátové specifikace: — délka příjmení L – jeden byte — příjmení – řetězec, ISO 8859-2, L bytů — věk – binárně, jeden byte
’C’ ’i’ ’m’ ’r’ ’m’ ’a’ ’n’ ’ ’ ’ ’ ’ ’ ’2’ ’6’
07
. Výpočetní technika I
Přednáška 3:
Druh formátu
Vnitřní reprezentace dat
Uložení dat v paměti počítače Organizace dat na discích Datové formáty Vyjádření hodnot datového typu
29 / 35
Přednáška 3: Vnitřní reprezentace dat
• Textový formát – data jsou připravena pro zobrazení
. Výpočetní technika I
6d
72
Organizace dat na discích
Vyjádření hodnot datového typu
Formátová specifikace
Formátová specifikace
Textový a binární formát
Textový a binární formát
6d
61
6e
1b
30 / 35
Přednáška 3: Vnitřní reprezentace dat
Přednáška 3:
Datové formáty
aritmetické a logické operace v paměti počítače
69
Definice formátu
Vnitřní reprezentace dat
Uložení dat v paměti počítače
a přímé čtení člověkem • Netextový (binární) formát – data jsou připravena pro
43
• Intuitivní definice — textový formát: všechny prvky formátu jsou složeny výhradně ze zobrazitelných znaků — binární formát: alespoň některé prvky formátu jsou řešeny jiným způsobem (řídicími znaky) • Problémy — kolik řádků může mít soubor, je-li v textovém formátu? — jak poznáte konec souboru? • Upravená definice — textový formát: všechny prvky formátu jsou složeny ze zobrazitelných znaků, mezi nimiž jsou použity jako oddělovače konce řádků a na konci dat nejvýše jeden znak konce souboru
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
31 / 35
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
32 / 35
.
Přednáška 3:
Uložení dat v paměti počítače Organizace dat na discích Datové formáty Vyjádření hodnot datového typu Formátová specifikace Textový a binární formát
Přednáška 3:
Konec řádku a konec souboru
Vnitřní reprezentace dat
Vnitřní reprezentace dat
• V různých operačních systémech jsou řídicí znaky různé
Uložení dat v paměti počítače
• Vedlejší efekt: podle tvaru konce řádku lze zjistit
Organizace dat na discích
operační systém, ve kterém byl soubor vytvořen • Dnešní kvalitní textové editory dokážou řídicí znak změnit
Datové formáty Vyjádření hodnot datového typu Formátová specifikace Textový a binární formát
Textový formát – vlastnosti • Data jsou přímo čitelná člověkem • Pro zpracování je obvykle nutná změna vyjádření • Zpracovatelný celou škálou obecných programů
a služeb každého operačního systému, což zvyšuje přenositelnost • Odolnost vůči porušení (ztrátě) informací
. Výpočetní technika I
Přednáška 3:
Vnitřní reprezentace dat
Uložení dat v paměti počítače Organizace dat na discích Datové formáty Vyjádření hodnot datového typu Formátová specifikace Textový a binární formát
Operační systém
Konec řádku
Název znaku
Unix Mac MS
0a 0d 0d 0a
LF CR CR LF
Konec Název souboru znaku 04 04 1a
• Nenapadnutelné virem • Většinou nižší úspornost zobrazení
EOT EOT ESC
Přednáška 3: Vnitřní reprezentace dat
33 / 35
. Výpočetní technika I
Binární formát – vlastnosti • Data nejsou přímo čitelná člověkem • Vhodný pro přímé zpracování • Nízká přenositelnost, závisí na určitém programu, který
zná přesnou a detailní strukturu dat • Snadná ztráta všech informací při porušení • Napadnutelné virem, lze ukrýt mnoho informací • Někdy maximálně úsporný (ale i naopak)
. Výpočetní technika I
Přednáška 3: Vnitřní reprezentace dat
35 / 35
.
Přednáška 3: Vnitřní reprezentace dat
34 / 35