ArvutidProgrammeerimine

UTF-8 - märgikodeering

Unicode toetab praktiliselt kõiki olemasolevaid iseloomu komplekti. Parim viis kodeeriva Unicode'i komplekt on UTF-8 kodeeringut. See toetab kokkusobivust ASCII, vastupidavus moonutatud andmeid, tõhusust ja hõlpsam töötlemine. Aga esimesed asjad kõigepealt.

kodeerimise kaudu

Arvutid tegutseda mitte ainult numbrid abstraktne matemaatiline esemeid, samuti kombinatsioone mäluühikute ja käitlemise kindla suurusega andmed - bait ja 32-bitise sõna. Encoding standard peab seda arvesse võtma määramisel, kuidas esitada märkide arvu.

Arvutisüsteemides, täisarvud mällu talletatud rakkudes 8 bitti (1 bait), 16 või 32 bitti. Mõlema vormi määratleb Unicode kodeering, mis järjestus mälurakkudega on täisarv, mis vastab konkreetsele sümbol. In standard on kolm erinevate kodeerimine Unicode märke 8, 16 ja 32-bitine plokid. Seega tuntakse neid UTF-8, UTF-16 ja UTF-32. Nimi UTF tähistab Unicode Transformation Format. Kõigis kolmes vormid kodeerimisvahendeid on võrdne esindatus Unicode'i eelised on mitmesuguseid rakendusi.

Andmete krüpteerimine saab esindada kõiki tähemärki Unicode standardit. Seega on nad täielikult ühilduv lahendusi erinevatel põhjustel, kasutades erinevaid vorme kodeerimine. Iga kodeeriva saab üheselt muundada mõne kahe kaotamata andmeid.

nenalozheniya põhimõte

Kõigis vormid Unicode kodeeringut välja töötatud eesmärgiga mitte osalist kattumist. Näiteks Windows-932 moodustab tähemärki ühe või kaks baiti koodi. Jadapikkusele sõltub esimene bait, nii juhtivaid baidiväärtuste sarjas kahebaidistel ja Ühebaidiste Ühisosata. Siiski väärtus ühe baidi esimesed ja tagumised baidi võib kattuda. See tähendab näiteks, et iseloomu otsingut D (kood 44) ei leia seda ekslikult sisenemist teise osa järjestus kahebaidistel märk "D" (kood 84 44). Et teada saada, mis järjestus on õige, peaks programm võtma arvesse eelmise baiti.

Olukord on keeruline, kui esimesed ja tagumised baiti mängu. See tähendab, et selleks, et eemaldada ebaselgust on pöördotsing enne jõudmist teksti alguses või unikaalne kood jada. See ei ole mitte ainult ebaefektiivne, kuid ei ole kaitstud võimalike vigade, sest ainult üks viga bait tervikteksti on muutunud loetamatuks.

Formaadi konverteerimise Unicode väldib see probleem, sest raha juhtivaid, trailing ja ühe mäluühik ei ole sama teavet. See tagab, et kõik Unicode otsingu ja võrdlemise, kunagi annab valesid tulemusi tänu juhus erinevate osade koodiga. Asjaolu, et need vormid kodeerimine jälgida põhimõtet nenalozheniya, eristab neid teistest Ida-Aasia mitmebaidiseid kodeeringuid.

Teine aspekt nonintersection Unicode kodeeringuid on see, et iga märk on selgelt määratletud piiri. See kaob vajadus skaneerida määramata arv eelmise sümboleid. See funktsioon on mõnikord nimetatakse ise takti kodeeringut. Moonutamine kood ühikut tutvustab moonutamine ainult üks märk ja seda ümbritsev tähemärki on veel puutumata. Kui 8-bitine formaadi konverteerimise, kui osuti osutab bait, alustades 10xxxxxx (kahendkoodi) leida algust sümbol on vaja üks kuni kolm tagasikäiku üleminekuid.

järjepidevus

Unicode konsortsium toetab täielikult kõiki 3 vormid kodeeringuid. On oluline mitte vastu seista UTF-8 ja Unicode, sest kõik muundamise formaadid - võrdselt jäädakse teostus Unicode'i kodeeriv standardile.

Bait-orientatsioon

Esindada UTF-32 tähemärki on vaja 32-bitist koodi üksus, mis ühtib Unicode koodi. UTF-16 - 01:59 16-bitine ühikut. UTF-8 kasutab kuni 4 baiti.

UTF-8 kodeeringut, mille eesmärk on olla kooskõlas bait orienteeritud ASCII-süsteemides. Enamik olemasolevaid tarkvara ja praktika infotehnoloogia pikka aega tugines esindatuse tähemärki jada baiti. Mitu protokollid sõltub püsivuse ASCII kodeeringus ja kasutab kas väldib Erikontrolli tähemärki. Lihtne viis kohaneda olukordades Unicode võimalik, kasutades 8-bitine kodeerimine esindamiseks Unicode märke, mis tahes samaväärse ASCII või kontrolli iseloomu. Selleks, ja see on UTF-8 kodeeringut.

muutuva pikkusega

UTF-8 - kodeeriv erineva pikkusega, mis sisaldab 8-bitise mäluseadmed ülemise bitti, mis näitavad, millisele järjestust iga üksiku baidi kuulub. Üks väärtuste vahemik jaotatava esimene element koodijadade, teises - järgmiseks. See annab disjointness kodeeringut.

ASCII

UTF-8 kodeeringut toetab täielikult ASCII koodid (0x00-0x7F). See tähendab, et Unicode tähemärki U + 0000-U + 007F muundatakse ühe baidi 0x00-0x7F UTF-8 ja seega muutunud eristamatu ASCII. Lisaks sellele, et vältida ebaselgust, väärtus 0x00-0x7F ei kasutata enam ühe baidi esindatuse Unicode sümboleid. Kodeerida sümboleid neideograficheskih va ASCII, kasutades jada kahebaidilise. Sümbolid ulatuvad U + 0800-U + FFFF on esindatud kolm baiti ja lisakoodidena üle U + FFFF nõuavad neljabaidilist.

kasutusala

UTF-8 kodeeringut tavaliselt on eelistada HTML protokoll jms.

XML on esimene standard täielikku toetust UTF-8 kodeeringut. Standardid organisatsioonid ka soovitada. Toetus probleem URL aadress erineb ASCII-märki, lahenes, kui W3C ja IETF inseneri rühma jõudis kokkuleppele kodeerimine kõik URL-aadresse ainult UTF-8.

Ühilduvus ASCII hõlbustab üleminekut uuele tarkvara. UTF-8 töötab kõige tekst toimetajad, sealhulgas JEdit, Emacs, BBEdit, Eclipse, ja "Notepad" Windowsi operatsioonisüsteemi. Muul kujul kodeering Unicode ei saa kiidelda sellise toetuse tööriista.

kodeeriva eeliseks on see, et see koosneb järjestikustest baiti. UTF-8 string on lihtne töötada C ja muud programmeerimiskeeled. See on ainus vorm kodeerimise järjestus ei nõua sildid baiti Bom või kodeerimise deklaratsiooni XML.

füüsilisest isikust sünkroonimine

Keskkonnas, mis kasutab 8-bitise sümbolid töötlemisel võrreldes teiste mitmebaidiseid märgistike, UTF-8 on järgmised eelised:

  • Esimene bait kood järjestus sisaldab teavet selle pikkus. See suurendab tõhusust otsese otsing.
  • Lihtsustatud leida alguses sümbol kui algusbaidiga on piiratud kindla väärtuste vahemikku.
  • Nr ristmik baidiväärtuste.

Võrdle kasu

UTF-8 kodeeringut kompaktne. Aga kui seda kasutatakse kodeerimiseks Ida-Aasia tähemärki (hiina, jaapani, korea, hiina kirjalikult, kasutades märke) kasutatakse 3-bait järjestusi. Samuti UTF-8 kodeeringut halvem teisi kodeerivaid töökiirust. Kahendseos sorteerimine read toodab sama tulemuse kui binaarse sorteerimine Unicode.

Iseloomu merkistöksi

Iseloomu merkistöksi sisaldab kodeeriv sümbolid vormi ja meetodit Ühebaidiste asukoha kood ühikut. Et määrata merkistöksi Unicode Standardi annab kasutades esmast baidijärjestuse kaubamärk (BOM, baidijärjestuse kaubamärk).

Kui Bom UTF-8 funktsiooni tag piirab ainult viitega kasutamise vorme kodeerimiseks. Probleemid määramisel endian UTF-8 on nagu selle kodeerimise plokk suurus on üks bait. Kasutades Bom selle vormi kodeerimine ei ole kohustatud ega soovita. Bom võib esineda teksti ümber teistele codings kasutades bait kaubamärk või allkirja UTF-8 kodeeringut. Kas jada 3 baiti EF BB 16 16 BF 16.

Kuidas seada UTF-8 kodeeringut

HTML koodis UTF-8 on paigaldatud järgmine kood:

pea

Meta http-ekv = "Content-Type" content = "text / html; charset = utf-8" ˃

PHP UTF-8 kodeeringut seadistatakse kaudu () funktsiooni alguses faili Pärast väljundi tase väärtus viga:

˂? Php

error_reporting (-1);

kaudu ( "Content-Type: text / html; charset = utf-8 ');

Ühendada MySQL andmebaasi UTF-8 kodeering on:

˂? Php

mysql_set_charset ( 'utf8');

CSS-fail on UTF-8 tähemärki on täpsustatud järgmiselt:

@charset "utf-8";

Kui salvestate failid kõigi valida UTF-8 kodeeringut ilma Bom, muidu sait ei tööta. Et seda teha DreamWeave tuleb valida menüüpunkt "Muudatused - Page Properties - Pealkiri / Encoding" muuta UTF-8. Järgneb lehte uuesti laadida, eemaldage linnuke "Connect Unicode allkiri (BOM)» ja muudatused rakendada. Kui mis tahes teksti lehel või andmebaasi võeti kasutusele teises vormis kodeerimine, on vaja uuesti sisestada või rekodeerimine. Kui töötate regulaaravaldiste kindlasti kasuta muutujat u.

Samuti saate salvestada faili UTF-8 kodeeringus "Notepad" Windows. Pärast valides menüüpunkti "File - Save As ...", et paigaldada vajalikud kujul kodeerimise ja salvestage fail UTF-8.

Tekstiredaktoris Notepad ++, kui teistsugune kui UTF-8, kui valida menüüst "Teisenda UTF-8, ilma Bom» muuta iseloomu ja salvestada UTF-8.

ei ole alternatiivi

Kontekstis globaliseerumise, kus poliitilised ja keelelise piirid on kustutatud, iseloomu komplekti, mis on iseloomulikud kohalikule, on vähe kasu. Unicode on ühe kooditabel, mis toetab kõiki lokaliseerimised. UTF-8 - näide nõuetekohast rakendamist Unicode, milleks on:

  • See toetab laia valikut tööriistu, sealhulgas kooskõla ASCII kodeeringus
  • On vastupidavad moonutamist andmed;
  • Lihtne ja efektiivne;
  • on platvormist sõltumatu.

Tekkega UTF-8 arutelu, millises vormis või kodeeriva kooditabel on parem, see muutub mõttetuks.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 et.birmiss.com. Theme powered by WordPress.