31Aug
ASCII, UTF-8, ISO-8859. .. Možno ste videli tieto podivné monikery plávajúce okolo, ale čo vlastne znamenajú?Čítajte ďalej, keď vysvetľujeme, aké kódovanie znakov je a ako tieto skratky súvisia s obyčajným textom, ktorý vidíme na obrazovke.
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á zložitý 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.
( Porovnanie skriptov Grantha, Tulu a Malayalam, Image from Wikipedia)
Vo svete počítačov používame termín "charakter". Charakter je nejaký abstraktný koncept 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 "sady" alebo do "repertoáru".
Keď zadáte odsek a zmeníte písmo, nemení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
( Image from Wikipedia)
Keď zadáte niečo na klávesnici alebo načítate súbor, ako vie počítač, č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 pravidlo diktuje, 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
( obrázok od sarah sosiak)
Existuje veľa rôznych kódovacích znakov tam 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, ktoré 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é.
Pozrime sa na niektoré z bežnejších.
( výňatok 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šou skupinou znakových kódov 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.
( Výňatok z tibetského skriptu, Unicode v4, od unicode.org)
- Unicode - Tento kódovací štandard sa zameriava na univerzálnosť.Obsahuje v súčasnosti 93 skriptov, ktoré sú usporiadané v niekoľkých blokoch a mnohé ďalšie v práci. 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 sa bežne zobrazujú takto: U + 0040( čo znamená "@").Š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 mám používať?
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.
( Viac jazykov v jednom dokumente, Screenshot z gujaratsamachar.com)
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, jeho predpokladaná interoperabilita s kódovými stránkami špecifickými pre operačný systém( 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. Samozrejme, vyhlasovanie jedného kódovania a používanie znakov z iného, bez toho, aby sa na webovej stránke správne deklarovalo / odkazovalo, 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 na to, 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ú značku, 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.