Znakové sady
Znaková sada představuje jakousi množinu znaků. Tato množina se často objevuje jako tabulka. Aby jste si to mohli lépe představit, tak jedna taková sada je ASCII. ASCII tabulka definuje znaky z anglické abecedy a další znaky, které používáme v IT. Neboli je to množina nebo tabulka, která obsahuje písmena, číslice a další znaky jako +,-,*,/,% a další.
ascii
- v ASCII tabulce můžeme najít anglické znaky a další znaky, které používáme v IT. Tyto znaky se dají vyjádřit decimálně nebo hexidecimálně. Například otazník - ? se dá vyjadří decimálně jako 63 a 3f jako hexadecimálně. Znaková sada ASCII je původně 7 bitový nebo obsahuje 128 znaků, ale aby se mohla použít i v jiných jazycích se používá 8 bitové rozšíření, neboli se rozšíří o dalších 128 znaků. Ale i přes rozšíření je tato znaková sada příliš malá na to aby pojala například nějakou evropskou abecedu. Zde jsou dva obrázky zobrazujíci tabulku ACII.
ISO 8859-1
- jinak nazývaná jako Latin-1
. Je osmibitová sada pro západoevropské jazyky jako jsou: angličtina, italština, němčina, švédština a mnoho dalších.
ISO 8859-2
- nebo také známa jako Latin-2
. Tato znaková sada obsahuje 191 znáku z latinky, které jsou kódované pomocí 8 bity. Pomocí Latin 2
můžeme zapisovat znaky z středoevropské nebo východoevropské abecedy. Neboli znaky z nasledujících jazyků jako : čeština, maďaršťina, polština, srbština a další.
Windows 1250
- tato sada se velmi podobá ISO 8859-2
. Jinak řečeno obsahuje všechny její znaky a ještě několik navíc. Tato sada se používá v operačních sytémech Windows, aby se dali používat středoevropské jazyky jako: čestina, polština a další.
utf-8
- zkratka pro Unicode Transformation Format
je rozšířený mezinárodní standard. Toto je znaková sada, která přiřazuje číselné kódy k písmenům abecedy a jiným znakům, aby se dálší PC zpracování.
Line endings
Také jinak jako End of line
označuje nějaký znak nebo sekvenci znaků, které označují konec řádku v souboru. Pro lepší pochopení si představte kód ze C#. Když napíšete například Console.WriteLine("EOL" + "\n" + "123");
. Zde pomocí \n
naznačujeme, že "123"
se vypíše na novém řádku v konzoli. Podobně fungují dané zkrakty jako CR
,LF
a CRLF
.
LF
- také jako Line feed
používané v Unixu, Linux, MacOS X a další.
CR
- také jako Carriege return
se používal v Aplle II(mikropočítač) a v MacOS do verze 9(2001).
CRLF
- jinak carriage return and line feed
se pužívá v systémech jako DOS, OS/2, Microsoft Windows
Kódování
Pozor neplést si s šifrováním .Ale je to způsob jak se znaky a znakové sady budou ukládány v souborech, při přenosu v síti atd. Neboli nám dává předpis jak se znaky budou prezentovat pomocí znakovýh sad a tabulek. Proč tedy kódujeme. Jednoduše řečeno, když nemůže podat informaci dyným způsobem, tak ji zakódujeme, tak aby se s informací dalo dále pracovat.
Binární (base 2)
Způsob jakým mužeme uložit informací pomocí hodnot 0
a 1
. Dne se používá převážně byte
neboli 8 bitů. Například číslo 202 je představován takto 11001010.
Hex (base 16)
Data jsou rozdělená do 4bit sekcí, které se dále prezentují pomocí 0-9
a A - F
, neboli tedy 16ti znaků. Informace 11001010 se rozdělí 1100 1010 -> se dále převede do C A, takže iformaci s CA neboli s 202. V tomto obrázku je zobrazená ASCII tabulka a v červených rámcích jsou data v Hex fromě neboli v Base16.
Base64
Umožňuje přenos bin. dat, které dále putují cestou, kde je povolen pouze přenos textu. Kódování tedy funguje, tak že když že se vezme slovo třeba Manual
. To se rozdělí do skupin po třech Man
a ual
. Ty se nadále vyhledají jak jsou zapsány v ASCII. M - 77
, a - 97
a n - 110
. To se nadále převede do base 2. 77 97 110
-> 01001101 01100001 01101110
. Toto jé nasledně rozděleno do skupin po 6 znacích 010011 010110 000101 101110
. Ty jsou pak převedeny do decimal 010011 - 19
, 010110 - 22
, 000101 - 5
a 101110 - 46
. Tyto čísla jsou pak brána jako index v této sadě znaků ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
, kde A je bráno jako index 0. Z tohoto nám pak vyjde 19 - T
, 22 - W
, 5 - F
a 46 - u
. Jakmile ze takto projede celé slovo tak se pak znaky dají dohromady TWFu
+ další. Jinak řešeno používáme 64 znaků pro zakódování informace. Zde je tabulka Base64.
Base58
Je podobná Base64
, ale poupraveno, tak aby se zabránilo znamkům jako +,-,# atd
a písmenům, která by poté nemusli vypadat jednoznače například, že by se 0 - nula
podobala O - velké písmeno O
další možnosti. Jinak řečeno se z Base64 odebraly nežádoucí znaky a vznikla Base58 neboli se používá 58 znaků. Zde je tabulka Base58.
Escaping
Je nahrazování znaků, které jsou zakázany jiným znakem či skupinou. Napřiklad v URL jsou zakázany znaky jako je mezery, čárky, tečky a mnoho dalších. Například mezera
se zakóduje do %20
a dále používá. Podobné platí i pro jiné znaky.
HTML entity
Zdrojový kód v jazyku HTML, v kterém jsou nějaké znaky součástí jazyka a tedy když je chceme napsat jsou poté nahrazeny tak zvanou entitou. Pro příklad znaky <
a >
, když je chceme použít, tak je nahradíme pomocí <
a >
. Jelikož v HTML jazyce poůžíváme <
a >
, tak že do nich vpisujeme vlastnosti. Například <title>HTML</title>
. Proto jsou dané znaky nahrazovány skupinou znaků neboli entitou. Zde si ukážeme pár příkladů.
&
- ampersand &
.
©
- copyright ©
.
"
- double quot mark "
.
¢
- cent ¢
.
£
- pound £
.
€
- euro €
.
®
- registered trademark ®
.
URL Encoding
Když máme URL adresu tak jsou zde zakázané znaky jako je mezera
, vykřičník
a mnoho dalších. Těchto znaků je mnoho, proto si ukážeme pár jejjich příkladů.
%20
- space neboli mezera. Slovní spojení ahoj jak
se zapíše jako ahoj%20tady
.
%2B
- plus +
. 7+3
-> 7%2B3
.
%26
- ampersand &
. pat&mat
-> pat%26mat
.
%22
- double quot mark "
. "KBB"
-> %22KBB%22
.
%23
- hashtag #
. #KBB
-> %23KBB
.
%28 a %29
- Závorky (
a )
. (ahoj)
-> %28ahoj%29
.
%2E
- tečka .
. konec.
-> konec%2E
.