Domovská » jak » Jaké jsou znakové znaky jako ANSI a Unicode a jak se liší?

    Jaké jsou znakové znaky jako ANSI a Unicode a jak se liší?

    ASCII, UTF-8, ISO-8859 ... Možná jste viděli, jak se tyto podivné monikery vznášejí kolem, ale co vlastně znamenají? Přečtěte si, jak vysvětlujeme kódování znaků a jak tyto zkratky odkazují na prostý text, který vidíme na obrazovce.

    Základní stavební bloky

    Když hovoříme o psaném jazyce, mluvíme o tom, že dopisy jsou základními prvky slov, které pak vytvářejí věty, odstavce a podobně. Písmena jsou symboly, které představují zvuky. Když hovoříte o jazyku, mluvíte o skupinách zvuků, které se shromažďují a vytvářejí nějaký význam. Každý jazykový systém má složitý soubor pravidel a definic, které řídí tyto významy. Máte-li slovo, je to zbytečné, pokud nevíte, z jakého jazyka pochází a použijete ho s jinými, kteří mluví tímto jazykem.

    (Srovnání skriptů Grantha, Tulu a Malayalam, Obrázek z Wikipedie)

    Ve světě počítačů používáme výraz "charakter". Postava je abstraktní koncept, definovaný specifickými parametry, ale je to základní jednota významu. Latinština "A" není stejná jako řecký "alfa" nebo arabský "alif", protože mají různé kontexty - jsou z různých jazyků a mají mírně odlišné výslovnosti - takže můžeme říci, že jsou to jiné postavy. Vizuální reprezentace znaku se nazývá "glyph" a různé sady glyfů se nazývají písma. Skupiny znaků patří do "sady" nebo "repertoáru".

    Když zadáte odstavce a změníte písmo, nezměníte fonetické hodnoty písmen, změníte jejich vzhled. Je to jen kosmetické (ale ne nedůležité!). Některé jazyky, jako starobylé egyptské a čínské, mají ideogramy; to představují celé nápady místo zvuků a jejich výslovnosti se mohou měnit v čase a vzdálenosti. Pokud nahradíte jeden znak druhým, nahrazujete myšlenku. Je to víc než jen měnit dopisy, mění se ideogram.

    Kódování znaků

    (Obrázek z Wikipedie)

    Když na klávesnici napíšete něco nebo načtete soubor, jak počítač ví, co má zobrazit? To je kódování znaků. Text na vašem počítači není ve skutečnosti písmen, je to řada párovaných alfanumerických hodnot. Kódování znaků funguje jako klíč, pro který hodnoty odpovídají znaky, podobně jako pravopis praví, které zvuky odpovídají písmenám. Morse kód je druh kódování znaků. Vysvětluje, jak skupiny dlouhých a krátkých jednotek, jako jsou pípnutí, představují znaky. V kódu Morse jsou znaky jen anglické písmena, čísla a celé stopy. Existuje mnoho kódování počítačových znaků, které se překládají do písmen, čísel, diakritických znamének, interpunkčních znamének, mezinárodních symbolů atd..

    Často se na tomto tématu používá termín "kódové stránky". Jsou to v podstatě znakové kódování, které používají konkrétní společnosti, často s mírnými úpravami. Například kódová stránka Windows 1252 (dříve známá jako ANSI 1252) je modifikovanou formou ISO-8859-1. Nejčastěji se používají jako interní systém pro odkazování na standardní a upravené kódování znaků, které jsou specifické pro tytéž systémy. Časné znění kódování znaků nebylo tak důležité, protože počítače mezi sebou nekomunikovaly. Vzhledem k tomu, že internet se stává prominentní a sítí je běžný výskyt, stává se stále důležitějším z každodenních životů, aniž bychom si to dokonce uvědomili.

    Mnoho různých typů

    (Obrázek od sarah sosiak)

    Existuje spousta odlišných kódování znaků a je zde spousta důvodů. Který znakový kód se rozhodnete použít závisí na tom, jaké jsou vaše potřeby. Pokud komunikujete v ruštině, má smysl používat kódování znaků, které dobře podporuje cyriliku. Pokud budete komunikovat v korejštině, pak budete chtít něco, co představuje Hangul a Hanja dobře. Pokud jste matematik, chcete něco, co má všechny vědecké a matematické symboly dobře reprezentované, stejně jako řecké a latinské glyfy. Pokud jste žertík, možná byste měli prospěch z obráceného textu. A pokud chcete, aby všechny tyto typy dokumentů byly zobrazeny jakoukoli konkrétní osobou, chcete kódování, které je docela běžné a snadno dostupné.

    Podívejme se na některé z těch častějších.

    (Výňatek tabulky ASCII, Obrázek z asciitable.com)

    • ASCII - Americký standardní kód pro výměnu informací je jedním ze starších znaků kódování. Původně byl navržen na základě telegrafických kódů a postupně se vyvíjel tak, aby obsahoval více symbolů a některé zastaralé netištěné kontrolní znaky. Je to asi tak základní, jak můžete získat z hlediska moderních systémů, protože je omezen na latinskou abecedu bez diakritických znaků. Jeho 7bitové kódování umožňuje pouze 128 znaků, což je důvodem, proč existuje celá řada neoficiálních variant.
    • ISO-8859 - Nejčastěji používaná skupina znaků kódování Mezinárodní organizace pro normalizaci je číslo 8859. Každé specifické kódování je označeno číslem, často předponovaným popisným popisem, např. ISO-8859-3 (latina-3), ISO-8859-6 (latinsky / arabsky). Je to superset ASCII, což znamená, že první 128 hodnot v kódování je stejná jako ASCII. Je to však 8-bitové a umožňuje 256 znaků, takže se od nich vytváří a zahrnuje mnohem širší pole znaků, přičemž každé konkrétní kódování se zaměřuje na jinou sadu kritérií. Latina-1 zahrnovala spoustu diakritických písmen a symbolů, ale později byla nahrazena revidovaným souborem Latin-9, který obsahuje aktualizované glyfy jako symbol Euro.

    (Výňatek tibetského skriptu, Unicode v4, od unicode.org)

    • Unicode - Tento kódovací standard je zaměřen na univerzálnost. V současné době obsahuje 93 skriptů uspořádaných v několika blocích a mnoho dalších v pracích. Unicode pracuje jinak než jiné znakové sady, protože namísto přímého kódování pro glyf je každá hodnota směrována dále na "kódový bod". Jedná se o hexadecimální hodnoty, které odpovídají znakům, ale samotné glyfy jsou odděleně poskytovány programem , jako je váš webový prohlížeč. Tyto kódové body jsou obvykle zobrazeny následovně: U + 0040 (což znamená "@"). Specifické kódování podle standardu Unicode jsou UTF-8 a UTF-16. UTF-8 se pokouší o maximální kompatibilitu s ASCII. Je to 8bitové, ale umožňuje všechny znaky prostřednictvím substitučního mechanismu a více párů hodnot na jeden znak. UTF-16 příkopy dokonalou kompatibilitu ASCII pro úplnější 16bitovou kompatibilitu se standardem.
    • ISO-10646 - Toto není skutečné kódování, jen znaková sada Unicode, která byla standardizována normou ISO. Je to převážně důležité, protože je to repertoár charakteru, který používá HTML. Některé z pokročilejších funkcí poskytovaných službou Unicode, které umožňují řazení a zprava doleva spolu s skriptováním zleva doprava, chybí. Přesto funguje velmi dobře pro použití na internetu, protože umožňuje použití široké škály skriptů a umožňuje prohlížeč interpretovat glyfy. To usnadňuje lokalizaci.

    Jaké kódování mám použít?

    No, ASCII funguje pro většinu angličtiny, ale ne pro nic jiného. Častěji uvidíte normu ISO-8859-1, která pracuje pro většinu západoevropských jazyků. Ostatní verze ISO-8859 pracují pro cyrilské, arabské, řecké nebo jiné specifické skripty. Pokud však chcete zobrazit více skriptů ve stejném dokumentu nebo na stejné webové stránce, UTF-8 umožňuje mnohem lepší kompatibilitu. To také funguje opravdu dobře pro lidi, kteří používají správné interpunkce, matematické symboly, nebo off-the-manžetové znaky, jako čtverce a zaškrtávací políčka.

    (Více jazyků v jednom dokumentu, Screenshot z gujaratsamachar.com)

    Každá sada však má nevýhody. ASCII je omezena interpunkčními značkami, takže pro typograficky správné úpravy nefunguje neuvěřitelně dobře. Jakýkoli typ kopírování / vkládání z aplikace Word pouze s nějakou podivnou kombinací glyfů? To je nevýhoda ISO-8859, nebo správněji, její předpokládaná vzájemná operabilita s kódovými stránkami specifickými pro systém OS (na YOU, Microsoft!). Hlavní nevýhodou UTF-8 je nedostatečná podpora při editaci a publikování aplikací. Dalším problémem je, že prohlížeče často nevykládají a pouze zobrazují značku zakázek znaku UTF-8 kódovaného znaku. Výsledkem je zobrazování nežádoucích glyfů. A samozřejmě, deklarování jednoho kódování a používání znaků z jiného, ​​aniž by bylo správně vyhlášeno / odkazováno na webové stránce, je pro prohlížeče obtížné je vykreslovat správně a vyhledávače je vhodným způsobem indexovat.

    Pro vaše vlastní dokumenty, rukopisy apod. Můžete použít vše, co potřebujete k tomu, abyste tuto práci vykonali. Pokud jde o web, zdá se však, že většina lidí souhlasí s použitím verze UTF-8, která nepoužívá značku byte, ale to není úplně jednomyslné. Jak vidíte, každé kódování znaků má vlastní použití, kontext a silné a slabé stránky. Jako konečný uživatel se s tím pravděpodobně nebudete muset vypořádat, ale nyní můžete udělat další krok vpřed, pokud si to vyberete.