31Aug
ASCII, UTF-8, ISO-8859. .. Možná jste viděli, jak se tyto podivné monikery vznášejí, ale co vlastně znamenají?Přečtěte si, jak vysvětlujeme kódování znaků a jak se tyto zkratky vztahují k prostému textu, který vidíme na obrazovce.
Základní stavební bloky
Když mluví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 spojují a tvoří 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 k ničemu, pokud nevíte, z jakého jazyka pochází a používáte jej s ostatními, kteří mluví tímto jazykem.
( Srovnání scénářů 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 lišit v čase a vzdálenosti. Pokud nahradíte jeden znak jiný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ž zadejte něco na klávesnici nebo načtete soubor, jak počítač ví, co má zobrazit? To je kódování znaků.Text v 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í, které 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 Morseově kódu jsou znaky pouze 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 toto téma používá také výraz "kódové stránky".Jedná se v podstatě o kódování znaků, které používají konkrétní společnosti, často s mírnými úpravami. Kódová stránka systému Windows 1252( dříve označovaná jako ANSI 1252) je například modifikovanou formou ISO-8859-1.Nejčastěji se používají jako interní systém pro odkazování na standardní a modifikované kódování znaků, které jsou specifické pro stejné systémy. Předčasné 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ým výskytem, stává se stále důležitějším z každodenních životů, aniž bychom si to ani uvědomovali.
Mnoho různých typů
( obrázek od sarah sosiak)
Tam je spousta různých kódování znaků tam, a tam je 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 cyrilice. Pokud budete komunikovat v korejštině, pak budete chtít něco, co představuje Hangul a Hanju 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. Jste-li ž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 obyčejné a snadno dostupné.
Podívejme se na některé z běžnějších.
( Výňatek tabulky ASCII, obrázek z asciable.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 časem se vyvinul, aby zahrnoval další symboly a některé zastaralé netištěné kontrolní znaky. Pravděpodobně je to tak zásadní, jak můžete získat z hlediska moderních systémů, protože je omezeno 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 - nejpoužívanější 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 názvem, např.ISO-8859-3( latina-3), ISO-8859-6( latina / arabština).Je to superset ASCII, což znamená, že první 128 hodnot v kódování je stejná jako ASCII.Je to však 8 bitů a dovoluje 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 jiný soubor 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 funguje odlišně než jiné znakové sady tím, že namísto přímého kódování pro glyf, každá hodnota je směrována dále na "kódový bod". Jde o hexadecimální hodnoty, které odpovídají znakům, ale samotné glyfy jsou programem odděleny, například webový prohlížeč.Tyto kódové body jsou obvykle zobrazeny takto: U + 0040( což znamená "@").Specifické kódování podle standardu Unicode je 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. Vyrovnání UTF-16 dokonalé kompatibility 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ředevším 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žívat?
ASCII funguje pro většinu anglických reproduktorů, ale ne pro nic jiného.Častěji uvidíte normu ISO-8859-1, která funguje 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žety znaků, jako jsou č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írovat / vkládat z aplikace Word pouze tak, aby měl nějakou podivnou kombinaci glyfů?To je nevýhoda ISO-8859, nebo správněji, její předpokládaná interoperabilita s kódovými stránkami specifickými pro OS( my se díváme na vás, Microsoft!).Hlavním nedostatkem 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 pořadí bajtů znaku kódovaného znakem UTF-8.To má za následek zobrazení 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 webovou stránku, je pro prohlížeče obtížné je vykreslovat správně a vyhledávače je vhodně indexovat.
Pro vaše vlastní dokumenty, rukopisy atd. Můžete využít všechno, co potřebujete, 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á své 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 se tak rozhodnete.