KompiuteriaiProgramavimas

UTF-8 - simbolių kodavimo

"Unicode" palaiko beveik visų esamų simbolių rinkinius. Geriausias forma, koduojanti Unicode simbolių rinkinį yra UTF-8 kodavimas. Jis palaiko suderinamumą su ASCII, atsparumą iškraipymo duomenų, efektyvumo ir patogumo apdorojimo. Bet Pirmasis dalykus.

kodavimo forma

Kompiuteriai veikti ne tik kaip numeriai abstrakčius matematinius objektus, taip pat vienetų saugojimo ir tvarkymo derinius fiksuoto dydžio duomenis - baitas ir 32 bitų žodžius. Kodavimas standartas turi į tai atsižvelgti, nustatant, kaip pristatyti simbolių skaičių.

Kompiuterinėse sistemose, sveikieji saugomi atminties ląstelių 8 bitai (1 Byte), 16 arba 32 bitai. Kiekviena forma apibrėžia Unicode kodavimą, kuris seka atminties ląstelių yra sveikas skaičius, atitinkantis ypač simboliu. Standarte yra trys skirtingų formų kodavimo Unicode simbolių 8, 16 ir 32 bitų blokus. Atitinkamai, jie yra žinomi kaip UTF-8, UTF-16 ir UTF-32. Vardas UTF reiškia Unicode Transformation Format. Kiekvienas iš trijų formų, koduojančių priemonėmis yra lygios atstovavimo Unicode turi privalumų, įvairių programų.

Duomenų šifravimas gali būti naudojamas atstovauti visus simbolius į Unicode standartą. Taigi, jie yra visiškai suderinamas su sprendimų dėl įvairių priežasčių, naudojant įvairių formų kodavimas. Kiekviena kodavimo vienareikšmiškai gali būti konvertuojamos į bet kurią iš kitų dviejų neprarandant duomenų.

nenalozheniya principas

Kiekvienas formos Unicode koduotę sukurta atsižvelgiant ne dalinio sutapimo. Pavyzdžiui, "Windows-932 sudaro vieno ar dviejų baitų kodo simbolių. Seka trukmė priklauso nuo pirmasis baitas, todėl vedantieji baito vertės dviejų-baitas ir vieno baito išskirstyti serijos. Tačiau iš vieno baito vertė ir gale baitas seka gali sutapti. Tai reiškia, kad, pavyzdžiui, simbolis paieška D (kodas 44) gali rasti ji klaidingai patekti į antrąją dalį į dviejų baitų simbolių "D" sekos (kodą 84 44). Norėdami išsiaiškinti, kuris seka yra teisinga, programa turėtų atsižvelgti į ankstesnius baitai.

Situacija yra sudėtinga, jei iš pirmaujančių ir gale baitų rungtynės. Tai reiškia, kad, siekiant pašalinti dviprasmiškumą bus atvirkštinės paieškos nesulaukus teksto ar unikalus kodas epizodo pradžioje. Tai ne tik neefektyvu, bet nėra apsaugota nuo galimų klaidų, nes tik vienas neteisingas baitas tekste tapo neįskaitomas.

Duomenų formato konvertavimo Unikodo vengia šią problemą, nes iš pirmaujančių, pardavimo vertė, ir vienas vienetinis saugojimo nėra ta pati informacija. Tai užtikrina, kad visi Unicode paieškai ir palyginimui, niekada duoti klaidingus rezultatus dėl skirtingų dalių simbolių kodas sutapimas. Tas faktas, kad šie kodavimo formas laikytis principo nenalozheniya, išskiria juos iš kitų Rytų Azijos kelių baitų koduotes.

Kitas nonintersection aspektas Unicode koduotę yra tai, kad kiekvienas personažas turi aiškiai apibrėžtą sieną. Tai pašalina reikia nuskaityti neribotą skaičių ankstesniais simbolių. Ši funkcija yra kartais vadinamas savarankiškai Clocking kodavimas. Iškraipymas kodas vienetų bus pristatyti tik vieną simbolį iškraipymo, ir aplinkinių simbolių vis dar nepaliestas. Į 8-bitų formato konvertavimo, jei žymeklis atkreipia dėmesį į baitas, pradedant 10xxxxxx (dvejetainiu kodu) rasti simbolio pradžia reikalingas vieno iki trijų atvirkštinės perėjimų.

nuoseklumas

"Unicode Consortium visiškai palaiko visus 3 formas koduotes. Svarbu neprieštarauti UTF-8 Unicode, nes visi perskaičiavimo formatų - vienodai galioja formų įsikūnijimas Unicode simbolių kodavimo standartas.

Baitas orientacija

Atstovauti UTF-32 simbolių reikės 32 bitų kodo bloką, kuris sutampa su Unicode kodu. UTF-16 - vienas du 16 bitų vienetų. UTF-8 naudoja iki 4 baitų.

UTF-8 koduotė skirta būti suderinama su baitų orientuotas ASCII sistemoms. Dauguma esamų programinės įrangos ir patirties informacinių technologijų ilgą laiką rėmėsi simbolių atstovavimas baitų seka. Keli protokolai priklauso nuo pastovumo ASCII koduotę ir naudoja arba išvengiama specialias kontrolės simbolių. Paprastas būdas prisitaikyti prie situacijos "Unicode" gali naudoti 8-bitų kodavimo atstovaujanti Unicode simbolių, bet kokį lygiavertį ASCII simbolį ar kontrolės charakterį. Šiuo tikslu, ir ji yra UTF-8 kodavimas.

kintamo ilgio

UTF-8 - kodavimo iš kintamo ilgio, sudarytas iš 8 bitų saugojimo vienetų, viršutiniai bitai, kuris rodo, prie kurio dalis kiekvieno atskiro baito seka priklauso. Vienas asortimentas, skiriamų pirmojo elemento kodo sekos reikšmių, kitas - už kitą. Tai suteikia disjointness kodavimą.

ASCII

UTF-8 kodavimas yra pilnai palaikomos ASCII kodai (0x00-0x7F). Tai reiškia, kad Unikode simbolių U + 0000-U + 007F yra konvertuojamas į vieno baito 0x00-0x7F UTF-8 ir tokiu būdu yra neatskiriami nuo ASCII. Be to, siekiant išvengti dviprasmybių, vertė 0x00-0x7F nenaudojamas, bet daugiau vieno baito atstovavimo Unicode simbolių. Koduoti simboliai neideograficheskih išskyrus ASCII, naudojant dviejų baitų seką. Simboliai svyruoja U + 0800-U + FFFF yra atstovauja trys baitų, ir papildomi kodai, turinčių daugiau nei U + FFFF reikalauja keturi baitai.

Taikymo sritis

UTF-8 kodavimo paprastai yra teikiama pirmenybė HTML protokolo, ir panašiai.

XML tapo pirmąja standartinis su pilnu palaikymu UTF-8 koduotę. Standartų organizacijos taip pat rekomenduoju. Parama problema URL adresą, kad skiriasi nuo ASCII simbolių, buvo išspręsta, kai konsorciumas W3C ir IETF inžinerijos grupė atvyko į susitarimą dėl visų kodavimo URL adresais tik UTF-8.

Suderinamumas su ASCII palengvina perėjimą prie naujos programinės įrangos. UTF-8 veikia labiausiai teksto redaktoriai, įskaitant jEdit, Emacs, BBEdit, Eclipse, ir "Notepad" Windows "operacinės sistemos. Jokia kita forma kodavimo Unicode negali pasigirti tokio įrankio pagalba.

kodavimo privalumas yra tas, kad jis susideda iš baitų seka. Su UTF-8 eilutę yra lengva dirbti C ir kitų programavimo kalbų. Tai vienintelis forma kodavimas, užsakymas nereikalauja etiketes baitų BOM arba kodavimas deklaracijoje XML.

savarankiškai-sinchronizacija

Aplinkoje, kuri naudoja 8 bitų simbolių tvarkymo palyginti su kitais kelių baitų simbolių rinkinių UTF-8 turi šiuos privalumus:

  • Pirmas baitas kodas seka pateikiama informacija apie jo ilgį. Tai padidina tiesiogiai paieškoje efektyvumą.
  • Supaprastintas rasti simbolio pradžia, kaip atspirties baitas yra apribotas fiksuotu asortimentą vertybes.
  • Nėra sankirta baitų vertes.

Palyginkite naudą

UTF-8 kodavimas yra kompaktiškas. Bet kai naudojamas kodavimas Rytų Azijos simbolių (kinų, japonų, korėjiečių, kinų raštu, naudojant ženklus), naudojami 3 baitų sekos. Taip pat UTF-8 kodavimas yra mažesnis nei kitų formų kodavimo apdorojimo greitis. Dvejetainis rūšiavimo linijos gamina tą patį rezultatą, kaip dvejetainiai rūšiavimo Unicode.

Simbolis schema kodavimo

Simbolis kodavimo schema turi kodavimo simbolių formą ir metodą vieno baito vietą kodas vienetų. Siekiant nustatyti kodavimo schemą Unicode standartas nurodo prisijungimo pradiniam bom (BOM, bom) naudojimą.

Kai UTF-8 funkcijų žyma BOM riboja tik nuoroda į formas kodavimo naudojimui. Sunkumų nustatant endian UTF-8 turi, kaip jos kodavimas vienetas dydis yra vienas baitas. Naudojant BOM šiai kodavimo forma nėra nei reikalingas, nei rekomenduojama. BOM gali atsirasti tekste būtų paverstas iš kitų kodavimo lentelių naudojant bom arba parašą kodavimas UTF-8. Yra 3 baitų EF BB 16 16 BF 16 seka.

Kaip nustatyti UTF-8 koduotę

HTML kodavimas UTF-8 yra įdiegta šį kodą:

pagrindinis

Meta http-ekv = "Content-Type" turinys = "tekstas / HTML; charset = utf-8" ˃

PHP UTF-8 koduotė yra nustatytas naudojant antraštės () funkciją į failo pradžioje nustačius išėjimo lygis vertės klaidą:

˂? Php

error_reporting (-1);

antraštės ( "Content-Type: text / html; charset = UTF-8 ');

Norėdami prisijungti prie MySQL duomenų bazės UTF-8 koduotė:

˂? Php

mysql_set_charset ( "utf8 ');

CSS-failų kodavimas yra UTF-8 simbolių yra nurodyta taip:

@charset "utf-8";

Kai įrašote visų tipų failai pasirinkti UTF-8 koduotę be BOM, kitaip ši svetainė neveiks. Norėdami tai padaryti DreamWeave reikia pasirinkti meniu punktą "Pakeitimai - Puslapis Properties - Pavadinimas / Encoding" pakeisti koduotę į UTF-8. Po naujo įkelti puslapį nuimkite varnelę nuo "Connect" Unicode parašas (BOM) »ir taikyti pakeitimus. Jei bet kokį tekstą į puslapį arba į duomenų bazę buvo įvesta kitą kodavimo formą, būtina pakartotinai įvesti arba iš naujo koduoti. Kai dirbate su reguliarios išraiškos, būtinai naudokite modifikatorius u.

Jūs taip pat galite išsaugoti UTF-8 koduote failą į "Notepad" ir "Windows". Pasirinkę meniu punktą "File - Save As ..." įdiegti reikiamą formą kodavimas ir išsaugoti UTF-8 failą.

Teksto redaktoriumi Notepad ++, jei Jūs nustatysite išskyrus UTF-8, per meniu punktą "Konvertuoti į UTF-8 be BOM» keisti charakterį ir išsaugoti UTF-8.

nėra alternatyvos

Globalizacijos, kur politiniai ir kalbinės ištrinamos ribos kontekste simbolių rinkiniai, kurie turi vietos charakteristikas, yra mažai naudoti. "Unicode" yra viena simbolių rinkinys, kuris palaiko visas lokalizacijos. UTF-8 - apie tinkamo įgyvendinimo Unicode, kuri yra pavyzdys:

  • Jis palaiko platų įrankių, įskaitant suderinamumą su ASCII koduotę;
  • Ji yra atsparus iškraipymo duomenų;
  • paprastas ir veiksmingas gydant;
  • yra nepriklausoma platforma.

Su UTF-8 diskusijų apie tai, ką forma kodavimo ar simbolių rinkinys yra geriau atėjimas, jis tampa bereikšmis.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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