Úvodná » ako » Aké sú znakové znaky ako ANSI a Unicode a ako sa líšia?

    Aké sú znakové znaky ako ANSI a Unicode a ako sa líšia?

    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é znakové kódovanie 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é reprezentujú 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, od ktorého jazyka pochádza a používate ho s ostatnými, ktorí hovoria týmito jazykmi.

    (Porovnanie skriptov Grantha, Tulu a Malayalam, Obrázok z Wikipédie)

    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 rovnaká 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 "množiny" alebo "repertoárov".

    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 starobylé egyptské a čínske, majú ideogramy; tieto predstavujú celé nápady 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 ako zmena listov, zmena ideogramu.

    Kódovanie znakov

    (Obrázok z Wikipédie)

    Ak 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 písmenami, 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 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 iba anglické písmená, čísla a plné 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, ktoré používajú konkrétne spoločnosti, často s malými úpravami. Napríklad kódová stránka Windows 1252 (predtým známa ako ANSI 1252) je modifikovanou formou ISO-8859-1. Väčšinou sa používajú ako interný systém na odvolávanie sa 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 sieťový systém je bežnou udalosťou, stal sa čoraz dôležitejším z každodenných životov bez toho, aby sme si ho dokonca uvedomovali.

    Veľa rôznych typov

    (Obrázok od sarah sosiak)

    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, má zmysel používať kódovanie znakov, ktoré dobre podporuje cyriliku. Ak budete komunikovať 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é, rovnako ako grécke a latinské glyfy. Ak ste výtržník, 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 prístupné.

    Poďme sa pozrieť na niektoré z 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 časom sa vyvinul, aby zahŕňal viac symbolov a niektoré súčasné neakturované kontrolné znaky. Je to pravdepodobne tak základné, ako môžete získať z hľadiska moderných systémov, pretože je to 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 na celom svete používa niekoľko neoficiálnych variantov.
    • ISO-8859 - Najrozšírenejšia skupina 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 s diakritikou a symbolov, 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ť. V súčasnosti obsahuje 93 skriptov, ktoré sú organizované v niekoľkých blokoch, pričom mnohé z nich sú už 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ľa štandardu 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 mechanizmu nahradenia a viacerých párov hodnôt na jeden znak. Priekopy UTF-16 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é z pokročilejších funkcií poskytovaných 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. To umožňuje o niečo ľahšie lokalizáciu.

    Aké kódovanie by som mal používať?

    No, ASCII funguje pre väčšinu anglických rečníkov, ale nie o nič iné. Častejšie uvidíte ISO-8859-1, ktorý funguje 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ávnu interpunkciu, 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. Akýkoľvek typ kopírovať alebo vkladať z programu Word len na to, aby ste mali nejakú zvláštnu kombináciu glyfov? To je nevýhoda 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 neinterpretujú 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 vykresliť správne a vyhľadávacie stroje ich primerane indexovali.

    Pre svoje 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ú objednávku, ale to nie je úplne jednomyseľné. Ako môžete vidieť, každé kódovanie znakov má svoje vlastné použitie, kontext a silné a slabé stránky. Ako konečný používateľ pravdepodobne nebudete musieť vyriešiť tento problém, ale teraz môžete urobiť ďalší krok vpred, ak si to vyberiete.