31Aug

Kaj so kodni znaki kot ANSI in Unicode, in kako se razlikujejo?

ASCII, UTF-8, ISO-8859. .. Morda ste videli te čudne monikere, ki plujejo okoli, ampak kaj dejansko pomenijo? Preberite, ko razložimo, kaj je kodiranje znakov in kako se te kratice nanašajo na navadno besedilo, ki ga vidimo na zaslonu.

Temeljni gradbeni bloki

Ko govorimo o pisnem jeziku, govorimo o tem, da so črke gradniki besed, ki nato zgradijo stavke, odstavke in tako naprej. Pisma so simboli, ki predstavljajo zvoke. Ko govorite o jeziku, govorite o skupinah zvokov, ki pridejo skupaj, da oblikujejo neke vrste pomen. Vsak jezikovni sistem ima zapletena pravila in definicije, ki urejajo te pomene.Če imate besedo, je neuporabna, če ne veste, iz katerega jezika je, in jo uporabljate z drugimi, ki govorijo ta jezik.

( Primerjava scenarijev Grantha, Tulu in Malayalam, slika iz Wikipedije)

V svetu računalnikov uporabljamo izraz "značaj". Znak je neke vrste abstraktni koncept, ki ga opredeljujejo posebni parametri, vendar je temeljnienota pomena. Latinska 'A' ni enaka kot grški 'alpha' ali arabski 'alif', ker imajo različne kontekste - iz različnih jezikov in imajo nekoliko drugačne izgovore - zato lahko rečemo, da so različni znaki. Vizualna predstavitev znaka se imenuje »glif« in različni nizi glif se imenujejo pisave. Skupine znakov spadajo v "set" ali "repertoar."

Ko vnesete odstavek in spremenite pisavo, ne spreminjate fonetičnih vrednosti črk, spremenite, kako izgledajo. To je samo kozmetična( vendar ne nepomembna!).Nekateri jeziki, kot sta starodavne egipčanske in kitajske, imajo ideoge;ti predstavljajo celo ideje namesto zvokov, njihovi izgovori pa se lahko razlikujejo glede na čas in razdaljo.Če zamenjate en znak za drugega, zamenjate idejo. To je več kot samo spreminjanje pisem, spreminja ideogram.

Character Encoding

( slika iz Wikipedije)

Ko vnesete nekaj na tipkovnici ali naložite datoteko, kako računalnik ve, kaj naj se prikaže? To je znak za kodiranje znakov. Besedilo na vašem računalniku ni dejansko črke, temveč serija seznanjenih alfanumeričnih vrednosti. Kodiranje znakov deluje kot ključ, za katerega vrednosti ustrezajo znakov, podobno temu, kako pravopisno določa, kateri zvoki ustrezajo katerim črkam. Morseova koda je vrsta kodiranja znakov. Pojasnjuje, kako skupine dolgih in kratkih enot, kot so pisk, predstavljajo znake. V kodi Morse so znaki le angleške črke, številke in popolne postanke. Obstaja veliko računalniških znakov, ki se prevedejo v črke, številke, naglasne oznake, ločila, mednarodne simbole in tako naprej.

Pogosto na tej temi se uporablja izraz "kodne strani".To so v bistvu kodiranje znakov, ki ga uporabljajo določena podjetja, pogosto z rahlo spremembo. Na primer, kodna stran Windows 1252( prej znana kot ANSI 1252) je spremenjena oblika ISO-8859-1.Večinoma se uporabljajo kot notranji sistem, ki se nanaša na standardne in spremenjene kodiranje znakov, ki so značilne za iste sisteme. Zgodnje kodiranje znakov ni bilo tako pomembno, ker računalniki niso komunicirali drug z drugim. Z internetom, ki se povečuje, da je vidnost in mreženje pogost pojav, je postalo vse pomembnejše od vsakdanjega življenja, ne da bi ga celo zavedali.

Mnogo različnih tipov

( slika iz sarah sosiak)

Obstaja veliko različnih kodnih znakov tam, in za to obstaja veliko razlogov. Katero kodiranje znakov, ki jo izberete, je odvisno od vaših potreb.Če komunicirate v ruščini, je smiselno uporabiti znakovno kodiranje, ki podpira cirilico.Če komunicirate v korejščini, potem boste želeli nekaj, kar predstavlja Hangul in Hanja dobro.Če ste matematik, potem želite nekaj, kar ima vse znanstvene in matematične simbole dobro predstavljene, pa tudi grške in latinske glifi.Če ste prankster, bi morda koristili od zgoraj navzdol besedilo. In če želite, da vse vrste dokumentov ogleda katera koli oseba, želite kodiranje, ki je precej pogosto in lahko dostopno.

Oglejmo si nekaj najpogostejših.

( povzetek tabele ASCII, slika iz asciitable.com)

  • ASCII - Ameriška standardna koda za izmenjavo informacij je ena od starejših kodnih znakov. Prvotno je bila zasnovana na podlagi telegrafskih kod in se sčasoma razvila, da je vključevala več simbolov in nekatere zastarele nepotiskane kontrolne znake. Verjetno je tako osnovno, kot lahko dobite v sodobnih sistemih, saj je omejeno na latinsko abecedo brez naglašenih znakov. Njegovo 7-bitno kodiranje omogoča samo 128 znakov, zato je po svetu več neuradnih različic.
  • ISO-8859 - Najširše uporabljena skupina kodnih znakov Mednarodne organizacije za standardizacijo je številka 8859. Vsako posebno kodiranje je označeno s številko, pogosto prednastavljeno z opisnim besedilom, npr. ISO-8859-3( latinščina-3), ISO-8859-6( latinščina / arabščina).To je superset ASCII, kar pomeni, da so prve 128 vrednosti v kodiranju enake kot ASCII.Vendar je 8-bitna in omogoča 256 znakov, zato se od tam oddaljuje in vključuje veliko širšo paleto znakov, pri čemer vsak posamezen kodirnik osredotoča na drug niz meril. Latin-1 je vključeval veliko naglašenih črk in simbolov, vendar je bil pozneje nadomeščen z revidiranim imenom Latin-9, ki vključuje posodobljene glive, kot je evro simbol.

( Izpis tibetanskega skripta, Unicode v4, od unicode.org)

  • Unicode - Ta kodni standard je namenjen univerzalnosti. Trenutno vsebuje 93 skriptov, organiziranih v več blokih, z mnogimi drugimi v delih. Unicode deluje drugače od drugih nizov znakov v tem, namesto da neposredno kodira glif, vsaka vrednost je usmerjena naprej v "kodno točko". To so šestnajstiške vrednosti, ki ustrezajo znaki, vendar so sami glifi na ločen način, na primer vaš spletni brskalnik. Te kode so običajno prikazane na naslednji način: U + 0040( kar pomeni "@").Posebna kodiranja v skladu s standardom Unicode so UTF-8 in UTF-16.UTF-8 poskuša omogočiti največjo združljivost z ASCII.To je 8-bitna, vendar omogoča vse znake prek nadomestnega mehanizma in več parov vrednosti na znak. UTF-16 ima odlično ASCII združljivost za popolnejšo 16-bitno združljivost s standardom.
  • ISO-10646 - To ni dejansko kodiranje, samo nabor znakov Unicode, ki ga je standardiziral ISO.To je večinoma pomembno, ker je repertoar znakov, ki ga uporablja HTML.Nekaterih naprednejših funkcij, ki jih ponuja Unicode, ki omogočajo primerjanje in desno-levo poleg skriptov od leve proti desni, manjkajo. Kljub temu pa deluje zelo dobro za uporabo na internetu, saj omogoča uporabo široke palete skript in omogoča brskalniku, da tolmači glifi. To olajša lokalizacijo.

Kakšno kodiranje naj uporabim?

No, ASCII deluje za večino angleških govorcev, vendar ne za veliko drugega. Pogosteje boste videli ISO-8859-1, ki deluje v večini zahodnoevropskih jezikov. Druge različice ISO-8859 delujejo za ćirilske, arabske, grške ali druge posebne skripte. Vendar če želite prikazati več skript v istem dokumentu ali na isti spletni strani, UTF-8 omogoča veliko večjo združljivost. Prav tako dobro deluje tudi za ljudi, ki uporabljajo pravilno ločila, matematične simbole ali znake izven črnila, kot so kvadrati in potrditvena polja.

( več jezikov v enem dokumentu, zaslona gujaratsamachar.com)

Pri vsakem nizu so pomanjkljivosti. ASCII je v svojih ločilih omejen, zato ne deluje izjemno dobro za tipografsko pravilne urejanje. Si kdaj kopiraj / prilepi iz Worda samo, da imaš nekaj čudno kombinacijo glifov? To je pomanjkljivost ISO-8859 ali natančneje njegova domnevna interoperabilnost s kodnimi stranmi, specifičnimi za OS( v You, Microsoft!).Velika pomanjkljivost UTF-8 je pomanjkanje ustrezne podpore pri urejanju in objavljanju aplikacij. Druga težava je, da brskalniki pogosto ne razlagajo in samo prikazujejo oznako za oznake bajt UTF-8 kodiranega znaka. Tako se prikažejo neželeni glifi. In seveda, če deklariranje enega kodiranja in uporabe znakov iz drugega, ne da bi jih pravilno oznanilo / sklicevalo na spletni strani, otežuje, da se brskalniki pravilno prikazujejo in da jih iskalnik ustrezno indeksira.

Za svoje dokumente, rokopise in tako naprej lahko uporabite vse, kar potrebujete, da opravite delo. Kar zadeva spletno stran, pa se zdi, da se večina ljudi strinja, da uporabljate različico UTF-8, ki ne uporablja oznake za bajt, vendar to ni povsem soglasno. Kot lahko vidite, ima vsak kodiranje znakov lastno rabo, kontekst ter prednosti in slabosti. Kot končni uporabnik se vam verjetno ne bo treba ukvarjati, zdaj pa lahko naredite dodaten korak naprej, če tako izberete.