Mis on iseloomulikke kodeeringuid nagu ANSI ja Unicode ja kuidas nad erinevad?

Sisukord:

Mis on iseloomulikke kodeeringuid nagu ANSI ja Unicode ja kuidas nad erinevad?
Mis on iseloomulikke kodeeringuid nagu ANSI ja Unicode ja kuidas nad erinevad?

Video: Mis on iseloomulikke kodeeringuid nagu ANSI ja Unicode ja kuidas nad erinevad?

Video: Mis on iseloomulikke kodeeringuid nagu ANSI ja Unicode ja kuidas nad erinevad?
Video: EP2 ShibaDoge Show With Guest Crypto Bull Talks Cryptocurrency Burn Meme Token NFT Green Candles - YouTube 2024, Mai
Anonim
ASCII, UTF-8, ISO-8859 … Võib-olla olete näinud neid kummalisi sõnu, mis ujuvad, kuid mida nad tegelikult tähendavad? Loe edasi, kui selgitame, mis märgi kodeering on ja kuidas need akronüümid on seotud tavalise tekstiga, mida me ekraanil näeme.
ASCII, UTF-8, ISO-8859 … Võib-olla olete näinud neid kummalisi sõnu, mis ujuvad, kuid mida nad tegelikult tähendavad? Loe edasi, kui selgitame, mis märgi kodeering on ja kuidas need akronüümid on seotud tavalise tekstiga, mida me ekraanil näeme.

Põhilised ehitusplokid

Kui me räägime kirjalikust keelest, siis räägime kirjadest, mis on sõnade ehituskivid, ning seejärel loome lauseid, lõiku ja nii edasi. Kirjad on sümbolid, mis esindavad helisid. Kui räägite keeltest, siis räägite helide rühmadest, mis kokku tulevad ja moodustavad mõnevõrra tähenduse. Igal keelel on keerukad reeglid ja määratlused, mis neid tähendusi reguleerivad. Kui teil on sõna, on see kasutu, kui te ei tea, mis keelest see on, ja kasutate seda keelt kõnelevate inimestega.

(Grantha, Tulu ja Malayalami skriptide võrdlus, Vikipeedia pilt)
(Grantha, Tulu ja Malayalami skriptide võrdlus, Vikipeedia pilt)

Arvutite maailmas kasutame terminit "tähemärk". Tähemärk on mõnevõrra abstraktse kontseptsiooni, mis on määratletud konkreetsete parameetritega, kuid see on oluline tähendusühik. Ladina "A" ei ole sama mis kreeka alfa või araabia "alif", sest neil on erinevad kontekstid - nad on erinevatest keeltest ja neil on veidi erinevad hääldused - nii võime öelda, et nad on erinevad tähemärgid. Tähemärgi visuaalset kujutist nimetatakse "glüüfiks" ning erinevad helifailide komplektid on kutsutud fontideks. Tähemärkide rühmad kuuluvad komplekti või repertuaarile.

Kui sisestate lõigu üles ja muudate fonti, ei muudeta teadete foneetilisi väärtusi, muutute nende välimust. See on lihtsalt kosmeetiline (kuid mitte ebaoluline!). Mõnes keeles, nagu iidne egiptlane ja hiina keel, on ideogrammid; need kujutavad endast terviklikke ideesid, mitte helisid, ja nende hääldused võivad aja jooksul ja kaugusest erineda. Kui asendate ühe märgi teisega, asendate te ideega. See on rohkem kui lihtsalt tähtmärkide muutmine, see muudab ideogrammi.

Märgikodeering

در در лиateate от در در от отate от ли در лиate ли от ли ли лиate ли ли лиate ли ли ли ли ли ли ли ли ли лиate отate ли ли ли ли от
در در лиateate от در در от отate от ли در лиate ли от ли ли лиate ли ли лиate ли ли ли ли ли ли ли ли ли лиate отate ли ли ли ли от

Kui sisestate klaviatuurilt midagi või laadite faili, kuidas arvuti teab, mida kuvada? See ongi tähemärkide kodeerimine. Tekst teie arvutis pole tegelikult tähte, see on seotud tähtede ja numbritega seeria. Märgi kodeering on võti, mille väärtused vastavad millistele tähemärkidele, täpselt nagu ortograafia määrab, millised heli vastavad neile tähtedele. Moruse kood on mingi märgi kodeering. See selgitab, kuidas pikkade ja lühikeste üksuste rühmad, nagu piiksub, kujutavad märke. Moruse koodis on tähemärgid vaid ingliskeelsed tähed, numbrid ja täielikud peatused. On palju arvutisisendeid, mis tõlgivad tähed, numbrid, aktsentumärgid, kirjavahemärgid, rahvusvahelised sümbolid jne.

Sellel teemal kasutatakse sageli mõistet "kooditabelid". Need on sisuliselt märgikodeeringud, mida kasutavad konkreetsed ettevõtted, sageli kergeid muudatusi. Näiteks on koodi lehekülg Windows 1252 (varem tuntud kui ANSI 1252) ISO-8859-1 muudetud kujul. Neid kasutatakse enamasti sisesüsteemina, mis viitab standardsete ja muudetud märgikoodidele, mis on spetsiifilised samadele süsteemidele. Varem ei olnud märgi kodeerimine nii tähtis, sest arvutid ei suhelda üksteisega. Kui Internet kasvab esile ja võrgundus on levinud esinemine, on see muutumas üha olulisemaks meie igapäevaseks eluks ilma, et me seda isegi mõistaksime.

Paljud erinevad tüübid

درate در лиate درate در در отate лиate درateate отateate در отateateateateate от лиateateateateate от ли отate درateateate درate от
درate در лиate درate در در отate лиate درateate отateate در отateateateateate от лиateateateateate от ли отate درateateate درate от

Seal on palju erinevaid märgistikke ja seal on palju põhjuseid. Milline teie poolt kasutatavat koodi kodeering sõltub sellest, mis teie vajadused on. Kui suudate suhelda vene keeles, on mõistlik kasutada kirjakeele sümbolit toetava märgi kodeeringut. Kui sa suhtled korea keeles, siis sa tahad midagi sellist, mis esindaks Hangul ja Hanja hästi. Kui oled matemaatik, siis soovite midagi, millel on hästi esindatud kõik teaduslikud ja matemaatilised sümbolid, samuti kreeka ja ladina tähestik. Kui sa oled vaimukas, võib-olla kasuks peksmisega tekst. Ja kui soovite, et iga seda tüüpi dokumente vaataks ükskõik milline inimene, soovite kodeeringut, mis on üsna tavaline ja kergesti ligipääsetav.

Vaatame mõningaid levinumaid.

(ASCII tabeli väljavõte, asciitable.com pilt)
(ASCII tabeli väljavõte, asciitable.com pilt)
  • ASCII - Ameerika standardse teabevahetuse standardkoodeks on üks vanematest märgi kodeeringutest. See oli algselt välja töötatud telegraafikoodide alusel ja arenes aja jooksul, et lisada rohkem sümboleid ja mõned nüüdisaegsed mittetrükitud juhtimismärgid. See on ilmselt sama põhiline nagu tänapäevaste süsteemide osas, kuna see piirdub ladina tähestikuga, millel pole rõhumärke. Selle 7-bitine kodeering võimaldab ainult 128 tähemärki, mistõttu maailmas on mitut mitteametlikku varianti.
  • ISO-8859 - Rahvusvahelise Standardiorganisatsiooni kõige laialdasemalt kasutatav märgikoodide rühm on number 8859. Iga konkreetne kodeering on tähistatud numbriga, mis on tihti eelvalitud kirjeldava tähisega, nt ISO-8859-3 (ladina-3), ISO-8859-6 (ladina / araabia).See on ASCII-superset, mis tähendab, et esimesed 128 väärtused kodeeringus on samad kui ASCII. Siiski on see 8-bitine ja võimaldab 256 tähemärki, nii et see eraldub sealt ja sisaldab palju laiemat tähemärki, kusjuures iga konkreetne kodeering keskendub erinevatele kriteeriumidele. Ladina-1 sisaldas hulga rõhumärkidega tähti ja sümboleid, kuid hiljem asendati see muudetud nimega Latin-9, mis sisaldab uuendatud glüüfe nagu euro sümbol.
Image
Image

(Tiibeti skripti, Unicode v4, unicode.org)

  • Unicode'i - Selle kodeerimise standardi eesmärk on universaalsus. Praegu sisaldab see 93 skripti, mis on korraldatud mitmetes plokkides, kusjuures töödega on palju rohkem. Unicode töötab erinevalt teistest märgistikettidest selle asemel, et otseselt kodeerida glüüfi, iga väärtus suunatakse edasi "koodipunkti". Need on kuueteistkümnemad väärtused, mis vastavad märksõnadele, kuid grammatiid ise esitavad programm eraldi, näiteks veebibrauser. Need koodipunktid on tavaliselt kujutatud järgmiselt: U + 0040 (mis tähendab "@"). Konkreetsed kodeeringud Unicode standardi all on UTF-8 ja UTF-16. UTF-8 üritab lubada maksimaalse ühilduvuse ASCII-ga. See on 8-bitine, kuid lubab kõik märgid asendusmehhanismi abil ja mitmekordsete väärtuste paarid tähemärgi kohta. UTF-16 kraavi täiuslik ASCII ühilduvus täiuslikuks 16-bitiseks ühilduvuseks standardiga.
  • ISO-10646 - See ei ole tegelikult kodeering, vaid Unicode koodikomplekt, mille ISO on standardinud. See on enamasti tähtis, kuna see on HTML-i poolt kasutatav iseloomu repertuaar. Puuduvad mõned Unicode pakutavad täpsemad funktsioonid, mis võimaldavad võrdlust ja paremale vasakule vasakule paremale skriptimisele. Veelgi enam, see toimib väga hästi internetis kasutamiseks, kuna see võimaldab kasutada mitmesuguseid skripte ja võimaldab brauseril glüüfe tõlgendada. See muudab lokaliseerimise mõnevõrra lihtsamaks.

Mis kodeeringut peaksin kasutama?

Noh, ASCII töötab enamike inglise keelt kõnelejate jaoks, kuid mitte palju muudki. Veelgi sagedamini näete ISO-8859-1, mis töötab enamikes Lääne-Euroopa keeltes. Muud ISO-8859 versioonid töötavad kirillitsa, araabia, kreeka või mõne muu spetsiifilise skripti jaoks. Kuid kui soovite kuvada mitu sketrit samas dokumendis või samal lehel, võimaldab UTF-8 palju paremat ühilduvust. Samuti toimib see tõesti hästi inimestele, kes kasutavad õigeid kirjavahemärke, matemaatika sümboleid või off-the-manseti tähti, näiteks ruudud ja märkeruudud.

(Mitu keelt ühes dokumendis, ekraanipilt gujaratsamachar.comist)
(Mitu keelt ühes dokumendis, ekraanipilt gujaratsamachar.comist)

Kuid iga komplekti jaoks on puudusi. ASCII on selle kirjavahemärkides piiratud, nii et see ei tööta tüpograafiliselt korrektsete muudatuste jaoks väga hästi. Kunagi tüüp kopeeri / kleepida Wordist ainult, et mõni imelik kombinatsioon glüüfe? See on ISO-8859 ebaõige või õigemini selle eeldatav koostalitlusvõime OS-i spetsiifiliste koodilehtedega (vaatame teid, Microsoft!). UTF-8 peamiseks puuduseks on nõuetekohase toe puudumine rakenduste redigeerimisel ja avaldamisel. Teine probleem on selles, et brauserid sageli ei tõlgenda ja lihtsalt kuvavad UTF-8 kodeeritud tähemärgi baitide järjekorranumbrit. Selle tulemusena kuvatakse soovimatuid glüüfe. Ja loomulikult deklareerib ühe kodeeringu ja teise tähemärkide kasutamine veebisaidi nõuetekohaselt deklareerimata / viideteta, raskendab brauserite õiget esitamist ja otsingumootorite asjakohast indekseerimist.

Teie enda dokumentide, käsikirjade jms jaoks saate kasutada seda, mis teil on vaja tööd teha. Veebi osas tundub, et enamik inimesi nõustuvad UTF-8 versiooni kasutamisega, mis ei kasuta baitide tellimust, kuid see pole täiesti ühehäälne. Nagu näete, on iga märgi kodeeringus oma kasutusala, kontekst ja tugevused ja nõrkused. Lõppkasutajana ei pea te tõenäoliselt seda tegelema, kuid nüüd võite teha täiendava sammu edasi, kui soovite.

Soovitan: