TietokoneetOhjelmointi

UTF-8 - merkkikoodauksen

Unicode tukee lähes kaikkia nykyisiä merkistöä. Paras muoto, joka koodaa Unicode-merkistö on UTF-8. Se tukee yhteensopivuus ASCII, vastustuskyky vääristy, tehokkuutta ja työstön helppous. Mutta asiat ensin.

koodaus muoto

Tietokoneet toimivat ei vain numeroita abstrakti matemaattisten objektien, sekä yhdistelmät yksiköiden varastointi ja käsittely kiinteän koko data - tavu ja 32-bittisiä sanoja. Koodausstandardi on otettava tämä huomioon määrittäessään kuinka esittää merkkien määrä.

Tietokonejärjestelmiin, kokonaislukujen muistiin tallennetut soluissa 8 bittiä (1 tavu), 16 tai 32 bittiä. Kukin lomake määrittelee Unicode, joka sekvenssi muistisolujen on kokonaisluku, joka vastaa tietty symboli. Standardissa on kolme eri koodausta Unicode-merkkejä 8, 16 ja 32-bitin lohkoja. Näin ollen ne tunnetaan UTF-8, UTF-16 ja UTF-32. Nimi UTF tarkoittaa Unicode Transformation Format. Kukin kolmesta muotojen koodausvälineet on sama esitys Unicode on etuja erilaisissa sovelluksissa.

Salaus voidaan käyttää edustamaan kaikki merkit Unicode-standardia. Näin ollen ne ovat täysin yhteensopivia ratkaisuja eri syistä, käyttäen eri koodaus. Kukin koodaus voidaan yksiselitteisesti muunnetaan tahansa kaksi muuta ilman tietojen menetyksen.

nenalozheniya periaate

Kunkin lomakkeen Unicode kehitetty näkymä kuin osittainen päällekkäisyys. Esimerkiksi Windows-932 muodostaa merkkiä yhden tai kaksi tavua koodia. Sekvenssin pituus riippuu ensimmäisen tavun, joten johtava tavujen arvoja sarjassa kahden tavun ja yhden tavun erilliset. Kuitenkin, arvo yksi tavu ja perään tavu sekvenssi voi olla sama. Tämä tarkoittaa esimerkiksi sitä, että merkki haku D (koodi 44), voidaan löytää sen vahingossa pääsemästä toisen osan sekvenssin kahden tavun merkki "D" (koodi 84 44). Selvittää, mikä järjestys on oikea, ohjelmassa olisi otettava huomioon aikaisemmat tavua.

Tilanne on monimutkainen, jos johtava ja perään tavua ottelussa. Tämä tarkoittaa sitä, että jotta voitaisiin poistaa epäselvyys on käänteisen haun ennen alkua tekstin tai yksilöllisen koodin sekvenssi. Tämä ei ole vain tehotonta, mutta se ei ole suojassa mahdollisilta virheitä, koska vain yksi väärä tavun koko tekstiin on tullut lukukelvoton.

Muuntaminen Unicode välttää tämän ongelman, koska arvo johtava, perään, ja yksi muistiyksikkö eivät ole samat tiedot. Näin varmistetaan, että kaikki Unicode hakuun ja vertailuun, ei koskaan antaa virheellisiä tuloksia, koska sattuma eri puolilla merkkisen koodin. Se, että nämä muodot koodaus noudattaa periaatetta nenalozheniya, erottaa ne muista Itä-Aasian monitavuisia koodauksia.

Toinen näkökohta nonintersection Unicode encodings on, että jokainen merkki on selkeästi määritelty rajalla. Tämä poistaa tarpeen skannata ennalta määrittelemättömän aiempien symboleja. Tämä ominaisuus on joskus kutsutaan itsekellottavan koodausta. Vääristymistä koodi yksiköiden vääristymän vain yhden merkin, ja ympäröivä merkit ovat yhä ehjät. Kun 8-bittinen muuntaminen, jos osoitin osoittaa tavu, alkaen 10xxxxxx (binaarikoodin) löytää alussa symboli tarvitaan yhdestä kolmeen käänteisen siirtymiä.

johdonmukaisuus

Unicode Consortium tukee kaikkia 3 muotoja koodauksia. On tärkeää, ettei vastustamatta UTF-8 ja Unicode, kuten kaikki muuntaminen formaatit - yhtä pätevä sovelluksen muodossa Unicode-koodausta standardi.

Tavu-orientaatio

Edustaa UTF-32 merkkiä tarvitaan 32-bittinen koodi yksikkö, joka on sama kuin Unicode-koodi. UTF-16 - yksi tai kaksi 16-bitin yksiköissä. UTF-8 käyttää jopa 4 tavua.

UTF-8 on suunniteltu yhteensopivaksi tavu suuntautunut ASCII-pohjaisissa järjestelmissä. Useimmat olemassa olevia ohjelmistoja ja käytännön tietotekniikan pitkään vedonnut edustus merkkien sarjassa tavuja. Useita protokollia riippuu pysyvyys ASCII-koodausta ja käyttää joko vältetään erityinen ohjaus merkkiä. Yksinkertainen tapa mukautua tilanteisiin Unicode voi käyttäen 8-bittistä koodausta edustaa Unicode-merkkejä, mikä tahansa vastaava ASCII tai ohjausmerkki. Tätä varten, ja se on UTF-8.

muuttuvan pituuden

UTF-8 - koodittava vaihtelevan pituinen, joka koostuu 8-bittinen varastointiyksiköt, ylempi bittiä, jotka osoittavat, mikä osa sekvenssin kunkin tavun kuuluu. Yksi arvojen varattu ensimmäinen osa koodisekvenssin, toinen - seuraavan. Tämä tarjoaa disjointness koodausta.

ASCII

UTF-8 on täysin tuettu ASCII-koodit (0x00-0x7F). Tämä tarkoittaa, että Unicode-merkkejä U + 0000-U + 007F muunnetaan yhden tavun 0x00-0x7F UTF-8 ja siten voi erottaa ASCII. Lisäksi, epäselvyyksien välttämiseksi, arvo 0x00-0x7F ei käytetä enää yhteen tavuun esitys Unicode-merkkejä. Koodaamaan symbolit neideograficheskih muu kuin ASCII, käyttäen sekvenssiä kaksi tavua. Symbolit vaihtelevat U + 0800-U + FFFF edustaa kolme bittiä, ja lisäksi koodit, joissa on enemmän kuin U + FFFF vaativat neljä tavua.

soveltamisalansa

UTF-8-yleensä annetaan etusija HTML-protokollaa, ja vastaavat.

XML on tullut ensimmäinen standardi täyden tukensa UTF-8. Standardointijärjestöt myös suositella sitä. Tuki ongelma URL-osoitteen, joka on erilainen kuin ASCII-merkkejä, ratkesi kun konsortio W3C ja IETF suunnittelukonserneja pääsivät sopimukseen koodaukseen kaikkien URL-osoitteiden yksinomaan UTF-8.

Yhteensopivuus ASCII helpottaa siirtymistä uuteen ohjelmistoon. UTF-8 toimii suurimman tekstieditoreista, kuten jEdit Emacs, BBEdit, Eclipse, ja "Muistio" Windows-käyttöjärjestelmän. Mikään muu koodaus Unicode voi ylpeillä tällaisen tuen työkalun.

koodaus etu on, että se koostuu sekvenssin tavua. UTF-8 merkkijono on helppo työskennellä C ja muita ohjelmointikieliä. Tämä on ainoa muoto koodauksen, tilaus ei edellytä tarroja tavut BOM tai koodausta ilmoituksen XML.

self-synkronointi

Ympäristössä, joka käyttää 8-bittisiä symboleja käsittelyn verrattuna muihin multi-tavun merkistöt, UTF-8 on seuraavat edut:

  • Ensimmäinen tavu koodi sekvenssi sisältää tietoa sen pituutta. Tämä lisää tehokkuutta suoraa hakua.
  • Yksinkertaistettu löytää symbolin alku, koska lähtö- tavu on rajoitettu kiinteään arvojen.
  • Ei risteys tavujen arvoja.

Ominaisuuksien vertailu

UTF-8 on pienikokoinen. Mutta kun käytetään koodaamiseen Itä-Aasian merkkiä (kiina, japani, korea, kiina kirjoittaminen merkeillä) käytettiin 3-tavusarjojen. Myös UTF-8 on huonompi kuin muiden koodaavan käsittelyn nopeus. Binäärinen lajittelulinjat tuottaa saman tuloksen kuin binary lajittelu Unicode.

Merkki enkoodausmenetelmä

Merkkikoodaus järjestelmä käsittää koodaavan symbolien muodossa ja menetelmä yhden tavun sijaintikoodi yksikköä. Määrittää Koodauskäytännölle Unicode standardi tarjoaa käyttöön ensimmäisen tavujärjestysmerkkiä (BOM, tavujärjestysmerkkiä).

Kun BOM UTF-8 piirretunnisteen rajoittaa vain viittaamalla käyttöä muotojen koodausta. Ongelmia määritettäessä endian UTF-8 on, kuten sen koodausyksikön koko on yksi tavu. Käyttäen BOM tämänkaltaisen koodaus ei ole tarpeen eikä suositeltavaa. BOM voi esiintyä teksti muunnetaan muista koodausta käyttäen tavujärjestysmerkkiä tai allekirjoitus UTF-8. On sekvenssi 3 tavua EF BB 16 16 BF 16.

Miten asettaa UTF-8

HTML koodaus UTF-8 asennetaan seuraavalla koodilla:

pää

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

PHP UTF-8 on määritetty käyttämällä header () funktio alussa tiedoston asettamisen jälkeen lähtötaso arvo virhe:

˂? Php

error_reporting (-1);

header ( "Content-Type: text / html; charset = UTF-8 ');

Muodostaa yhteyden MySQL-tietokantaan UTF-8 on asetettu:

˂? Php

mysql_set_charset (utf8 ');

CSS-tiedosto koodaus on UTF-8 merkkiä määritellään seuraavasti:

@charset tukisi "UTF-8";

Kun tallennat tiedostoja kaikenlaisten valita UTF-8 ilman BOM, muuten sivusto ei toimi. Voit tehdä tämän DreamWeave täytyy valita valikosta "Muutokset - Sivun ominaisuudet - Nimike / koodaus" vaihtaa UTF-8. Seuraaja ladata sivu, poista valintamerkki "Connect Unicode allekirjoitus (BOM)» ja ota muutokset. Jos tekstiä sivulla tai otettiin käyttöön tietokanta muunlaiseen koodausta, on tarpeen palata tai uudelleen koodata. Kun työtä säännöllisiä lausekkeita, muista käyttää modifiointiaineen u.

Voit myös tallentaa tiedoston UTF-8 on "Muistio" Windows. Kun olet valinnut valikosta "File - Save As ..." asentaa tarvittavat muodon koodaus ja tallentaa tiedoston UTF-8.

Tekstieditorissa Notepad ++, jos asetettu muu kuin UTF-8 kautta valikosta "muuntaa UTF-8 ilman BOM» muuttaa luonnetta ja tallentaa UTF-8.

ei ole vaihtoehtoa

Kun globalisaation, jossa poliittinen ja kielirajojen poistetaan merkki asetetaan, jotka ovat paikallisten erityispiirteiden ei ole juurikaan hyötyä. Unicode on yksittäinen merkki, joka tukee kaikkia lokalisoinnit. UTF-8 - esimerkki asianmukaisen täytäntöönpanon Unicode, joka on:

  • Se tukee monenlaisia välineitä, kuten yhteensopivuus ASCII koodaus;
  • Se on resistentti vääristymä tietoja;
  • yksinkertainen ja tehokas hoito;
  • on alustasta riippumaton.

Kynnyksellä UTF-8 keskustelua siitä, mitä muotoa koodausta tai merkistöä on parempi, se muuttuu merkityksettömäksi.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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