Domača » kako » Kaj so kodiranje znakov Kot ANSI in Unicode in kako se razlikujeta?

    Kaj so kodiranje znakov Kot ANSI in Unicode in kako se razlikujeta?

    ASCII, UTF-8, ISO-8859… Morda ste videli te čudne monikerje, ki plujejo okoli, toda kaj dejansko pomenijo? Preberite o tem, kako razlagamo kodiranje znakov in kako se te kratice nanašajo na golo besedilo, ki ga vidimo na zaslonu.

    Temeljni gradniki

    Ko govorimo o pisnem jeziku, govorimo o črkah, ki so gradniki besed, ki nato gradijo stavke, odstavke in tako naprej. Črke so simboli, ki predstavljajo zvoke. Ko govorite o jeziku, govorite o skupinah zvokov, ki se združijo in tvorijo nekakšen pomen. Vsak jezikovni sistem ima zapleten sklop pravil in definicij, ki urejajo te pomene. Če imate besedo, je neuporabna, če ne veste, iz katerega jezika je in ga uporabljate z drugimi, ki govorijo ta jezik.

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

    V svetu računalnikov uporabljamo izraz »značaj«. Znak je nekakšen abstrakten koncept, ki ga določajo specifični parametri, vendar je temeljna enota pomena. Latinski »A« ni isti kot grški »alfa« 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«, različni glifi pa se imenujejo pisave. Skupine znakov spadajo v »niz« ali »repertoar«.

    Ko vtipkate odstavek in spremenite pisavo, ne spreminjate glasovne vrednosti črk, spreminjate, kako izgledajo. To je samo kozmetično (vendar ne nepomembno!). Nekateri jeziki, kot sta starodavni egiptovski in kitajski, imajo ideograme; ti predstavljajo celotne ideje namesto zvokov, njihova izgovorjava pa se lahko spreminja s časom in razdaljo. Če zamenjate en znak z drugim, zamenjujete idejo. To je več kot le spreminjanje pisem, spreminja ideogram.

    Kodiranje znakov

    (Slika iz Wikipedije)

    Ko vnesete nekaj na tipkovnico ali naložite datoteko, kako računalnik ve, kaj naj prikaže? Za to je značilno kodiranje znakov. Besedilo v računalniku ni pravzaprav črke, temveč vrsto seznanjenih alfanumeričnih vrednosti. Kodiranje znakov deluje kot ključ, za katerega vrednosti ustrezajo znakom, podobno kot to, kako ortografija narekuje, kateri zvoki ustrezajo črkam. Morsejeva koda je nekakšno kodiranje znakov. Pojasnjuje, kako skupine dolgih in kratkih enot, kot so piski, predstavljajo znake. V Morseovi kodi so znaki samo angleške črke, številke in polni postanki. Obstaja veliko kodnih znakov za računalnik, ki se prevajajo v črke, številke, znake za naglas, ločila, mednarodne simbole itd..

    Pogosto se na to temo uporablja tudi izraz »kodne strani«. Gre predvsem za kodiranje znakov, kot ga uporabljajo določena podjetja, pogosto z rahlimi spremembami. Kodna stran Windows 1252 (prej znana kot ANSI 1252) je na primer spremenjena oblika ISO-8859-1. Večinoma se uporabljajo kot notranji sistem za sklicevanje na standardne in modificirane kodne znake, ki so specifični za iste sisteme. Že zgodaj, kodiranje znakov ni bilo tako pomembno, ker računalniki niso komunicirali drug z drugim. Z internetom, ki postaja vedno bolj pomemben in je mreženje pogost pojav, je postalo vedno bolj pomembno naše vsakodnevno življenje, ne da bi ga sploh spoznali..

    Veliko različnih vrst

    (Slika iz sarah sosiak)

    Obstaja veliko različnih kodiranj znakov, in za to obstaja veliko razlogov. Katero kodiranje znakov, ki ga izberete, je odvisno od vaših potreb. Če komunicirate v ruskem jeziku, je smiselno uporabiti kodiranje znakov, ki dobro podpira cirilico. Če komunicirate v korejščini, boste želeli nekaj, kar predstavlja hanul in hanja. Če ste matematik, potem želite nekaj, kar ima vse znane znanstvene in matematične simbole, kot tudi grške in latinske glife. Če ste prankster, boste morda imeli korist od obrnjenega besedila. In če želite, da si katera koli oseba ogleda vse te vrste dokumentov, želite, da je kodiranje, ki je zelo običajno in lahko dostopno.

    Oglejmo si nekaj najpogostejših.

    (Izvleček tabele ASCII, Slika iz asciitable.com)

    • ASCII - Ameriška standardna koda za izmenjavo informacij je ena starejših kodnih znakov. Prvotno je bila zasnovana na podlagi telegrafskih kod in se je sčasoma razvila, da je vključevala več simbolov in nekaj zastarelih ne-natisnjenih kontrolnih znakov. Verjetno je tako osnovna, kot jo lahko dobite v smislu sodobnih sistemov, saj je omejena na latinico brez naglašenih znakov. Njegovo 7-bitno kodiranje omogoča le 128 znakov, zato se po svetu uporablja več neuradnih različic.
    • ISO-8859 - Mednarodna organizacija za standardizacijo, ki se najpogosteje uporablja za kodiranje znakov, je številka 8859. Vsako posebno kodiranje je označeno s številom, ki ga pogosto predpiše opisni naziv, npr. ISO-8859-3 (Latin-3), ISO-8859-6 (latinščina / arabščina). To je nadskupina ASCII, kar pomeni, da je prvih 128 vrednosti v kodiranju enako kot ASCII. Vendar pa je 8-bitni in omogoča 256 znakov, zato gradi od tam in vključuje veliko širšo paleto znakov, pri čemer se vsako specifično kodiranje osredotoča na drugačen nabor meril. Latin-1 je vseboval kup naglašenih črk in simbolov, vendar je bil pozneje nadomeščen z revidiranim nizom Latin-9, ki vključuje posodobljene glife, kot je simbol evra..

    (Odlomek iz tibetanskega skripta, Unicode v4, z unicode.org)

    • Unicode - Ta standard za kodiranje je namenjen univerzalnosti. Trenutno vsebuje 93 skriptov, ki so organizirani v več blokih, z veliko več v delu. Unicode deluje drugače kot drugi nabori znakov, saj je namesto neposrednega kodiranja glifa vsaka vrednost usmerjena naprej v »kodno točko«. To so šestnajstiške vrednosti, ki ustrezajo znakom, vendar jih sam program zagotavlja na ločen način. , kot je spletni brskalnik. Te kodne točke so običajno prikazane takole: U + 0040 (kar pomeni „@“). Posebna kodiranja pod standardom Unicode so UTF-8 in UTF-16. UTF-8 poskuša omogočiti največjo združljivost z ASCII. To je 8-bitni, vendar omogoča vse znake s pomočjo mehanizma za zamenjavo in več pari vrednosti na znak. UTF-16 se izvrši kot popolna združljivost ASCII 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 to repertoar znakov, ki ga uporablja HTML. Manjkajo nekatere naprednejše funkcije, ki jih omogoča Unicode in omogočajo primerjavo in desno na levo ob skripti od leve proti desni. Kljub temu deluje zelo dobro za uporabo na internetu, saj omogoča uporabo široke palete skriptov in omogoča brskalniku interpretacijo glifov. Zaradi tega je lokalizacija nekoliko lažja.

    Kaj naj uporabim za kodiranje?

    No, ASCII deluje za večino angleško govorečih, vendar ne za veliko drugega. Pogosteje boste videli ISO-8859-1, ki deluje za večino zahodnoevropskih jezikov. Druge različice ISO-8859 delujejo za cirilico, arabščino, grščino ali druge posebne skripte. Če želite prikazati več skriptov v istem dokumentu ali na isti spletni strani, UTF-8 omogoča veliko boljšo združljivost. Prav tako deluje zelo dobro za ljudi, ki uporabljajo pravilna ločila, matematične simbole ali znake, kot so kvadrati in potrditvena polja..

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

    Vendar ima vsak niz pomanjkljivosti. ASCII je v svojih ločilnih znakih omejen, zato za tipografsko pravilna urejanja ne deluje zelo dobro. Ste že kdaj kopirali / prilepili iz Worda samo, da bi imeli čudno kombinacijo glifov? To je pomanjkljivost ISO-8859 ali pravilneje njena domnevna interoperabilnost z kodnimi stranmi, specifičnimi za OS (gledamo vas, Microsoft!). Glavna pomanjkljivost UTF-8 je pomanjkanje ustrezne podpore pri urejanju in objavljanju aplikacij. Še ena težava je, da brskalniki pogosto ne razlagajo in samo prikažejo oznako bajtnega reda kodiranega UTF-8 znaka. Posledično se prikažejo neželeni glifi. In seveda razglasitev enkodiranja in uporaba znakov od drugih brez njihovega pravilnega označevanja na spletni strani otežuje brskalnikom, da jih pravilno prikažejo in da jih iskalniki ustrezno indeksirajo..

    Za svoje dokumente, rokopise in tako naprej lahko uporabite kar potrebujete, da opravite delo. Kar se tiče spleta, pa se zdi, da se večina ljudi strinja z uporabo različice UTF-8, ki ne uporablja oznake bajtov, vendar to ni povsem soglasno. Kot lahko vidite, ima vsako kodiranje znakov svojo lastno uporabo, kontekst in prednosti in slabosti. Kot končni uporabnik vam tega verjetno ne bo treba obravnavati, zdaj pa lahko naredite dodaten korak naprej, če tako izberete.