Základné stavebné bloky
Keď hovoríme o písomnom jazyku, hovoríme o tom, že listy sú stavebnými kameňmi slov, ktoré potom vytvárajú vety, odseky atď. Písmená sú symboly, ktoré predstavujú zvuky. Keď hovoríte o jazyku, hovoríte o skupinách zvukov, ktoré sa spoja, aby vytvorili nejaký zmysel. Každý jazykový systém má komplexný súbor pravidiel a definícií, ktoré riadia tieto významy. Ak máte slovo, je to zbytočné, ak neviete, z ktorého jazyka pochádza a používate ho s ostatnými, ktorí hovoria týmito jazykmi.
Vo svete počítačov používame termín "charakter". Charakter je nejaký abstraktný pojem definovaný špecifickými parametrami, ale je to základná jednota významu. Latinčina "A" nie je tá istá ako grécka alfa alebo arabská "alif", pretože majú rôzne kontexty - sú z rôznych jazykov a majú mierne odlišné výslovnosti - takže môžeme povedať, že sú to odlišné znaky. Vizuálna reprezentácia znaku sa nazýva "glyf" a rôzne súbory glyfov sa nazývajú písma. Skupiny znakov patria do "súboru" alebo "repertoáru".
Keď zadáte odsek a zmeníte písmo, nezmeníte si fonetické hodnoty písmen, meníte ich vzhľad. Je to len kozmetické (ale nie bezvýznamné!). Niektoré jazyky, ako staroveký egyptský a čínsky, majú ideogramy; tieto predstavujú celé myšlienky namiesto zvukov a ich výslovnosti sa môžu meniť v čase a vzdialenosti. Ak nahradíte jeden znak druhým, nahrádzate nápad. Je to viac než len meniť listy, mení sa ideogram.
Kódovanie znakov
Keď zadáte niečo na klávesnici alebo načítate súbor, ako počítač vie, čo má zobrazovať? Toto je kódovanie znakov. Text na vašom počítači nie je skutočne písmená, je to séria párovaných alfanumerických hodnôt. Kódovanie znakov slúži ako kľúč, pre ktorý hodnoty zodpovedajú znakom, podobne ako pravidlo udáva, ktoré zvuky zodpovedajú písmenám. Kód Morse je druh kódovania znakov. Vysvetľuje, ako skupiny dlhých a krátkych jednotiek, ako sú pípnutia, predstavujú znaky. V kóde Morse sú znaky len anglické písmená, čísla a celé stopy. Existuje veľa kódov počítačových znakov, ktoré sa prekladajú na písmená, čísla, diakritické znamienka, interpunkčné znamienka, medzinárodné symboly atď.
Často sa na túto tému používa aj pojem "kódové stránky". Ide v podstate o kódové znaky používané konkrétnymi spoločnosťami, často s malými úpravami. Napríklad kódová stránka Windows 1252 (predtým známa ako ANSI 1252) je modifikovaná forma normy ISO-8859-1. Väčšinou sa používajú ako interný systém na odkazovanie na štandardné a modifikované kódovanie znakov, ktoré sú špecifické pre tie isté systémy. Skoršie, kódovanie znakov nebolo také dôležité, pretože počítače medzi sebou nekomunikovali. Vzhľadom na to, že internet je čoraz dôležitejším a spoločný, stáva sa čoraz dôležitejším z našich každodenných životov bez toho, aby sme si to dokonca uvedomovali.
Mnoho rôznych typov
Existuje veľa rozdielnych znakových kódov a existuje veľa dôvodov. Ktoré kódovanie znakov sa rozhodnete použiť závisí od toho, aké sú vaše potreby. Ak komunikujete v ruštine, je rozumné používať kódovanie znakov, ktoré dobre podporujú cyriliku. Ak komunikujete v kórejčine, potom budete chcieť niečo, čo predstavuje Hangul a Hanja dobre. Ak ste matematik, potom chcete niečo, čo má všetky vedecké a matematické symboly dobre znázornené, ako aj grécke a latinské glyfy. Ak ste prankster, možno by ste mali prospech z hore nohami textu. A ak chcete, aby všetky tieto typy dokumentov boli zobrazené ľubovoľnou osobou, chcete kódovanie, ktoré je celkom bežné a ľahko dostupné.
Poďme sa pozrieť na niektoré z tých bežnejších.
(Výňatek z tabuľky ASCII, Obrázok z asciitable.com)
- ASCII - Americký štandardný kód pre výmenu informácií je jedným zo starších znakov kódovania. Bol pôvodne navrhnutý na základe telegrafických kódov a postupne sa rozvíjal tak, aby zahŕňal viac symbolov a niektoré aktuálne neakturované kontrolné znaky. Pravdepodobne je to tak základné, ako môžete získať z hľadiska moderných systémov, pretože je obmedzené na latinskú abecedu bez znakov s diakritikou. Jeho 7-bitové kódovanie umožňuje iba 128 znakov, čo je dôvodom, prečo sa používa niekoľko neoficiálnych variantov na celom svete.
- ISO-8859 - Najpoužívanejšia skupina kódovania znakov Medzinárodnej organizácie pre normalizáciu je číslo 8859. Každé špecifické kódovanie je označené číslom, často predpísaným popisným označením, napr. ISO-8859-3 (latinčina-3), ISO-8859-6 (latinčina / arabčina).Je to nadmnožina ASCII, čo znamená, že prvé 128 hodnôt v kódovaní sú rovnaké ako ASCII. Je to však 8-bitové a umožňuje 256 znakov, takže sa od nich vytvára a zahŕňa oveľa širšiu škálu znakov, pričom každé špecifické kódovanie sa zameriava na inú skupinu kritérií. Latinčina-1 obsahovala veľa znakov a znakov s diakritikou, ale neskôr bola nahradená revidovaným súborom s názvom Latin-9, ktorý obsahuje aktualizované glyfy ako symbol Euro.
- unicode - Tento kódovací štandard sa zameriava na univerzálnosť. V súčasnosti obsahuje 93 skriptov, ktoré sú usporiadané v niekoľkých blokoch. Unicode funguje inak než iné znakové sady tým, že namiesto priameho kódovania pre glyf, každá hodnota je smerovaná ďalej na "kódový bod". Ide o hexadecimálne hodnoty, ktoré zodpovedajú znakom, ale samotné glyfy sú oddelene poskytované programom, ako je váš webový prehliadač. Tieto kódové body sú bežne zobrazené nasledovne: U + 0040 (čo sa prekladá na '@'). Špecifické kódovania pod štandardom Unicode sú UTF-8 a UTF-16. UTF-8 sa pokúša umožniť maximálnu kompatibilitu s ASCII. Je to 8-bitové, ale umožňuje všetky znaky prostredníctvom substitučného mechanizmu a viacerých párov hodnôt na jeden znak. UTF-16 kanály dokonalú kompatibilitu ASCII pre úplnejšiu 16-bitovú kompatibilitu so štandardom.
- ISO-10646 - Toto nie je skutočné kódovanie, len znaková sada Unicode, ktorá bola štandardizovaná normou ISO. Je to prevažne dôležité, pretože je to repertoár charakteru, ktorý používa HTML. Niektoré pokročilejšie funkcie poskytované v systéme Unicode, ktoré umožňujú zoraďovanie a sprava doľava popri skriptovaní zľava doprava, chýbajú. Napriek tomu funguje veľmi dobre na použitie na internete, pretože umožňuje používať širokú škálu skriptov a umožňuje prehliadaču interpretovať glyfy. Tým je lokalizácia o niečo jednoduchšia.
Aké kódovanie by som mal používať?
No, ASCII funguje pre väčšinu anglických rečníkov, ale nie pre nič iné. Častejšie uvidíte ISO-8859-1, ktorý pracuje pre väčšinu západoeurópskych jazykov. Ostatné verzie ISO-8859 pracujú pre cyrilické, arabské, grécke alebo iné špecifické skripty. Ak však chcete zobraziť viac skriptov v tom istom dokumente alebo na tej istej webovej stránke, UTF-8 umožňuje oveľa lepšiu kompatibilitu. To tiež funguje naozaj dobre pre ľudí, ktorí používajú správne interpunkčné znamienka, matematické symboly, alebo off-the-manžety znakov, ako sú štvorce a zaškrtávacie políčka.
Každá sada však má nevýhody. ASCII je obmedzená svojimi interpunkčnými značkami, takže pre typograficky správne úpravy nefunguje neuveriteľne dobre. Kedykoľvek skopírujte / prilepte z programu Word iba nejakú zvláštnu kombináciu glyfov? To je nevýhoda normy ISO-8859, alebo správnejšie, jej predpokladaná interoperabilita s kódovými stránkami špecifickými pre operačné systémy (pozeráme sa na vás, spoločnosť Microsoft!). Hlavnou nevýhodou softvéru UTF-8 je nedostatok riadnej podpory pri editovaní a publikovaní aplikácií. Ďalším problémom je, že prehliadače často nevykladajú a len zobrazujú značku bajtu znaku kódovaného znakom UTF-8. Výsledkom je zobrazenie nežiaducich glyfov. A samozrejme, deklarovanie jedného kódovania a používanie znakov z iného, bez toho, aby sa správne deklarovalo / odkazovalo na webovú stránku, je pre prehliadače ťažké ich správne vykresliť a vyhľadávacie stroje ich primerane indexovať.
Pre vaše vlastné dokumenty, rukopisy atď. Môžete použiť všetko, čo potrebujete, aby ste túto prácu vykonali. Pokiaľ ide o web, zdá sa, že väčšina ľudí sa zhoduje na použití verzie UTF-8, ktorá nepoužíva bajtovú objednávku, ale to nie je úplne jednomyseľné. Ako vidíte, každé kódovanie znakov má svoje vlastné použitie, kontext a silné a slabé stránky. Ako koncový používateľ pravdepodobne nebudete musieť vyriešiť tento problém, ale teraz môžete urobiť ďalší krok vpred, ak si to vyberiete.