Kas yra simbolių kodavimas, kaip ANSI ir Unicode, ir kaip jos skiriasi?
ASCII, UTF-8, ISO-8859… Galbūt matėte šiuos keistus monikerius, kurie plaukioja aplink, bet ką jie iš tikrųjų reiškia? Skaitykite, kaip mes paaiškiname, koks yra simbolių kodavimas ir kaip šie akronimai yra susiję su paprastu tekstu, kurį matome ekrane.
Pagrindiniai statybiniai blokai
Kai kalbame apie rašytinę kalbą, kalbame apie laiškus, kurie yra žodžių kūrimo blokai, kurie tada sukuria sakinius, pastraipas ir pan. Laiškai yra simboliai, vaizduojantys garsus. Kai kalbate apie kalbą, kalbate apie garsų grupes, kurios kartu suformuoja tam tikrą prasmę. Kiekviena kalbos sistema turi sudėtingą taisyklių ir apibrėžimų rinkinį, kuris reguliuoja šias reikšmes. Jei turite žodį, tai yra nenaudingas, nebent žinote, kokia kalba yra, ir jūs naudojate jį su kitais, kurie kalba ta kalba.
(Granthos, Tulu ir malajalių skriptų palyginimas, Vaizdas iš Vikipedijos)
Kompiuterių pasaulyje naudojamas terminas „simbolis“. Simbolis yra abstrakta koncepcija, apibrėžta specifiniais parametrais, tačiau tai yra esminis prasmės vienetas. Lotynų „A“ yra ne tas pats, kaip graikų „alfa“ ar arabų „alif“, nes jie turi skirtingą kontekstą - jie yra iš skirtingų kalbų ir turi šiek tiek kitokias kalbas, todėl galime pasakyti, kad jie yra skirtingi simboliai. Vizualinis simbolio vaizdavimas vadinamas „glifu“, o skirtingi glifų rinkiniai vadinami šriftais. Simbolių grupės priklauso „rinkiniui“ arba „repertuarui“.
Kai įvedate paragrafą ir pakeisite šriftą, nekeičiate fonetinių raidžių reikšmių, keičiate, kaip jie atrodo. Tai tik kosmetinis (bet ne nereikšmingas!). Kai kurios kalbos, pvz., Senovės egiptiečiai ir kinų, turi ideogramas; jos atstovauja visoms idėjoms, o ne garsams, ir jų išraiškos gali skirtis per tam tikrą laiką ir atstumą. Jei kitą simbolį pakeisite, pakeisite idėją. Tai ne tik raidžių keitimas, bet ir ideogramos keitimas.
Simbolių kodavimas
(Vaizdas iš „Wikipedia“)
Kai įvedate kažką klaviatūroje arba įkeliate failą, kaip kompiuteris žino, ką rodyti? Būtent tai yra simbolių kodavimas. Kompiuteryje esantis tekstas iš tikrųjų nėra raidės, tai yra susietų raidinių ir skaitmeninių verčių serija. Simbolių kodavimas veikia kaip raktas, kurio reikšmės atitinka tam tikrus simbolius, panašiai kaip ortografija diktuoja, kurie garsai atitinka raides. Morzės kodas yra simbolių kodavimas. Jame paaiškinama, kaip ilgų ir trumpų vienetų grupės, pvz., Pyptelėjimai, žymi simbolius. Morzės kode simboliai yra tik angliškos raidės, skaičiai ir visi sustojimai. Yra daug kompiuterių simbolių kodų, kurie verčiami raidėmis, skaičiais, akcentiniais ženklais, skyrybos ženklais, tarptautiniais simboliais ir pan..
Dažnai šioje temoje vartojamas terminas „kodo puslapiai“. Jie iš esmės yra simbolių kodai, kuriuos naudoja tam tikros įmonės, dažnai su nedideliais pakeitimais. Pavyzdžiui, „Windows 1252“ kodo puslapis (anksčiau žinomas kaip ANSI 1252) yra modifikuota ISO-8859-1 forma. Jie dažniausiai naudojami kaip vidinė sistema, skirta standartinėms ir modifikuotoms tų pačių sistemų charakteristikoms. Pradžioje simbolių kodavimas nebuvo toks svarbus, nes kompiuteriai tarpusavyje nesikalbėjo. Kadangi internetas tampa vis ryškesnis, o tinklų kūrimas yra dažnas reiškinys, tai tampa vis svarbesniu mūsų kasdieniame gyvenime be mūsų net supratimo..
Daug įvairių tipų
(Vaizdas iš sarah sosiak)
Yra daug skirtingų simbolių kodų, todėl yra daug priežasčių. Kuris simbolių kodavimas, kurį naudojate, priklauso nuo jūsų poreikių. Jei bendraujate rusų kalba, tikslinga naudoti simbolių kodavimą, kuris palaiko kirilicinį šulinį. Jei bendraujate korėjiečių kalba, tuomet jūs norėsite ką nors, kas gerai atstovauja „Hangul“ ir „Hanja“. Jei esate matematikas, tuomet norite kažką, kad būtų gerai matomi visi moksliniai ir matematiniai simboliai, taip pat graikų ir lotynų kalbos simboliai. Jei esate pranksteris, galbūt naudosite aukštyn kojom. Ir jei norite, kad visi šie dokumentai būtų peržiūrimi bet kuriam asmeniui, norite kodavimo, kuris yra gana paplitęs ir lengvai pasiekiamas.
Pažvelkime į kai kuriuos dažniau pasitaikančius.
(Ištrauka iš ASCII lentelės, vaizdas iš asciitable.com)
- ASCII - Amerikos standartinis informacijos mainų kodas yra vienas iš senesnių simbolių kodų. Iš pradžių jis buvo sukurtas remiantis telegrafo kodais ir laikui bėgant išsivystė į daugiau simbolių ir kai kurių dabar pasenusių ne spausdintų valdymo simbolių. Tai tikriausiai yra toks pat paprastas, kaip ir šiuolaikinių sistemų požiūriu, nes tai tik lotyniška abėcėlė be diakritinių ženklų. Jo 7 bitų kodavimas leidžia tik 128 simbolius, todėl visame pasaulyje naudojami keli neoficialūs variantai.
- ISO-8859 - Tarptautinės standartizacijos organizacijos plačiausiai naudojamų simbolių kodų grupė yra numeris 8859. Kiekvienas konkretus kodavimas yra pažymėtas skaičiumi, dažnai užrašytu aprašomuoju monikeriu, pvz. ISO-8859-3 (Latin-3), ISO-8859-6 (lotynų / arabų). Tai ASCII superset, tai reiškia, kad pirmosios 128 koduotės reikšmės yra tokios pačios kaip ASCII. Tačiau tai yra 8 bitų ir leidžia 256 simbolius, todėl jis išjungiamas iš ten ir apima daug platesnį simbolių asortimentą, kiekvienas konkretus kodavimas sutelktas į skirtingus kriterijų rinkinius. Lotynų kalba-1 įtraukta daug akcentuotų raidžių ir simbolių, bet vėliau buvo pakeista pakeistu rinkiniu „Lotynų-9“, kuriame yra atnaujintų „glifų“, pvz., „Euro“ simbolis.
(Ištrauka iš Tibeto scenarijų, Unicode v4, iš unicode.org)
- Unikodas - Šis kodavimo standartas siekia universalumo. Šiuo metu jame yra 93 scenarijai, sudaryti iš kelių blokų, daug daugiau kūriniuose. Unicode veikia kitaip nei kiti simbolių rinkiniai, kad vietoj tiesioginio glifo kodavimo kiekviena reikšmė yra nukreipta toliau į „kodo tašką“. Tai yra šešioliktainės reikšmės, atitinkančios simbolius, bet pačios žymės yra pateikiamos atskirai pagal programą , pavyzdžiui, interneto naršyklę. Šie kodo taškai paprastai vaizduojami taip: U + 0040 (kuris verčia į „@“). Konkretūs kodai pagal Unicode standartą yra UTF-8 ir UTF-16. UTF-8 bando leisti maksimalų suderinamumą su ASCII. Tai 8 bitų, bet leidžia visiems simboliams per pakeitimo mechanizmą ir keletą simbolių porų. UTF-16 grioveliai puikiai suderinami su ASCII, kad 16 bitų būtų suderinamas su standartu.
- ISO-10646 - Tai nėra tikras kodavimas, tik „Unicode“ simbolių rinkinys, kuris buvo standartizuotas pagal ISO. Tai daugiausia svarbu, nes tai yra HTML repertuaras. Trūksta kai kurių pažangesnių funkcijų, kurias teikia „Unicode“, leidžiančios lyginti ir į dešinę į kairę kartu su kairiuoju-dešiniuoju skriptu. Vis dėlto jis puikiai tinka naudojimui internete, nes leidžia naudoti įvairius scenarijus ir leidžia naršyklei interpretuoti žymes. Tai palengvina lokalizavimą.
Ką reikėtų naudoti kodavimui??
Na, ASCII veikia daugeliui anglų kalbų, bet ne daug kitų. Dažniausiai pamatysite ISO-8859-1, kuris veikia daugumoje Vakarų Europos kalbų. Kitos ISO-8859 versijos veikia kirilicų, arabų, graikų ar kitų specifinių scenarijų. Tačiau, jei norite rodyti kelis scenarijus tame pačiame dokumente arba tame pačiame tinklalapyje, UTF-8 leidžia daug geriau suderinti. Jis taip pat puikiai veikia tiems, kurie naudoja tinkamus skyrybos ženklus, matematinius simbolius arba neženklius, pvz., Kvadratus ir žymės langelius.
(Kelios kalbos viename dokumente, gujaratsamachar.com ekrano kopija)
Tačiau kiekvienas rinkinys turi trūkumų. ASCII savo skyrybos ženkluose yra ribotas, taigi jis neįtikėtinai gerai tinka tipografiškai teisingiems pakeitimams. Kada nors iš „Word“ rašykite kopijuoti / įklijuoti tik tam tikrą keistą glifų derinį? Tai yra ISO-8859 trūkumas arba, tiksliau, jos tariamas sąveikumas su OS konkrečiais kodų puslapiais (mes žiūrime į YOU, Microsoft!). Didžiausias UTF-8 trūkumas yra tinkamos paramos trūkumas redaguojant ir skelbiant programas. Kita problema yra ta, kad naršyklės dažnai neskaito ir tiesiog parodo UTF-8 koduoto simbolio baito eilės ženklą. Dėl to rodomi nepageidaujami simboliai. Be abejo, paskelbus vieną kodavimą ir kito simbolių naudojimą, netinkamai paskelbiant / netinkamai nurodant juos tinklalapyje, naršyklėms sunku jas teisingai pateikti ir paieškos sistemoms juos tinkamai indeksuoti.
Savo dokumentams, rankraščiams ir pan. Galite naudoti viską, ko reikia norint gauti darbą. Vis dėlto atrodo, kad dauguma žmonių sutinka naudoti UTF-8 versiją, kuri nenaudoja baito užsakymo ženklo, tačiau tai nėra visiškai vieninga. Kaip matote, kiekvienas simbolių kodavimas turi savo naudojimą, kontekstą ir stipriąsias bei silpnąsias puses. Kaip galutinis vartotojas, jūs tikriausiai neturėsite to spręsti, tačiau dabar galite pasirinkti papildomą žingsnį.