KompjûtersProgramming

UTF-8 - karakter kodearring

Unicode stipet frijwol alle besteande karakter sets. De bêste foarm fan kodear Unicode tekenset is UTF-8 kodearring. It stipet komptabiliteit mei ASCII, wjerstân tsjin ferfoarming fan de gegevens, de effektiviteit en it gemak fan de ferwurking. Mar earst dingen earst.

taalkodearjen yn formulier

Computers wurkje net allinnich as nûmers abstrakt wiskundige objekten, krektas de kombinaasjes fan ienheden fan de opslach en de behanneljende fêste-maat data - byte en 32-bit wurden. Kodearring standert moat nimme dit rekken doe't bepalen hoe te presintearjen it oantal karakters.

Yn kompjûter systemen, de integers opslein yn it ûnthâld sellen fan 8 bits (1 byte), 16 of 32 bits. Elke foarm definiearret in Unicode kodearring, dy't opienfolging fan ûnthâld sellen is in hiel getal oerienkomt mei in bepaalde symboal. Yn de standert binne der trije ferskillende foarmen fan taalkodearjen yn Unicode tekens 8, 16 en 32-bit blokken. Accordingly, se binne bekend as UTF-8, UTF-16 en UTF-32. Namme UTF stiet foar unykoade Transformaasje Format. Elk fan de trije foarmen fan kodear middels is gelyk fertsjintwurdiging Unicode karakter hat foardielen yn ferskate tapassings.

Gegevens fan fersifering kin brûkt wurde om fertsjintwurdigje alle tekens yn 'e Unicode standert. Sa, binne se folslein kompatibel te oplossingen foar in ferskaat oan redenen, mei gebrûk fan ferskate foarmen fan taalkodearjen yn. Elts taalkodearjen kin unambiguously wurde ferboud ta ien fan de oare twa sûnder ferlies fan gegevens.

nenalozheniya prinsipe

Elk fan de formulieren Unicode kodearring ûntwikkele mei it each net part oerlaap. Bygelyks, Windows-932 foarmet de tekens fan ien of twa bytes fan koade. De sequence lingte is ôfhinklik fan 'e earste byte, sadat de liedende byte wearden yn' e rige fan twa-byte en single byte disjoint. Lykwols, de wearde fan in inkele byte en slepende byte sequence kin gearfalle. Dat betsjut bygelyks dat it karakter sykje D (koade 44) kin fine dat fersinne oangean fan it twadde diel fan 'e rige fan twa-byte karakter "D" (koade 84 44). Om út te sykjen hokker folchoarder is korrekt, it programma moat rekken hâlden wurde mei de foarige bytes.

De situaasje is yngewikkeld, as it liedend en slepende bytes wedstriid. Dat betsjut dat der om en meitsje de ambiguity sil in omkearde Lookup foardat it berikken fan it begjin fan de tekst of de unike koade folchoarder. Dat is net allinne inefficiënt, mar wurdt net beskerme fan mooglike flaters, sûnt mar ien ferkearde byte nei de folsleine tekst is wurden ûnlêsber.

Format ombou Unicode mijt dit probleem omdat de wearde fan 'e liedende, slepende, en in inkeld ienheid fan opslach binne net deselde ynformaasje. Dit soarget derfoar dat alle Unicode foar te sykjen en ferliking, nea jaan ferkearde ferzje ta gefolgen resultaten as gefolch fan it tafal fan de ferskillende ûnderdielen fan it karakter koade. It feit dat dizze foarmen fan taalkodearjen observearjen it prinsipe nenalozheniya, ûnderskiedt har fan oare East Aziatyske multi-byte yn Weststellingwerf.

In oar aspekt nonintersection Unicode yn Weststellingwerf is dat elke karakter hat in dúdlik omskreaun grins. Dit elimineert de needsaak om te scannen in ûnbepaalde oantal eardere symboalen. Dizze funksje wurdt soms neamd harsels clocking kodearring. Ferdraaiïng koade units sille ynfiering fan in ferdraaiïng mar ien karakter, en de omlizzende karakters binne noch yntakt. Yn de 8-bit formaat ombou, as de oanwizer punten oan de byte, begjinnend mei 10xxxxxx (yn binary code) te finen de start fan it symboal is nedich foar ien oant trije reverse transysjes.

gearhing

Unicode Consortium folslein stipet alle 3 foarmen fan yn Weststellingwerf. It is wichtich net te fersetten tsjin de UTF-8 en Unicode, lykas alle konverzje Formate - allike jildich foarmen fan belichaming fan 'e Unicode karakter-kodearring standert.

Byte-oriïntaasje

Te fertsjintwurdigjen UTF-32 karakters sille nedich in 32-bits koade ienheid, dat gear mei de Unicode koade. UTF-16 - ien oant twa 16-bit ienheden. In UTF-8 brûkt maksimaal 4 bytes.

UTF-8 kodearring is ûntwurpen om te wêzen kompatibel mei Byte-rjochte ASCII-basearre systemen. It grutste part fan de besteande software en praktyk fan ynformaasje technology foar in lange tiid steunde op de fertsjintwurdiging fan de personaazjes yn in opienfolging fan bytes. Meardere protokollen hinget ôf fan 'e constancy fan ASCII kodearring en brûkt of mijt de spesjale kontrôle tekens. In ienfâldige wize oan te passen oan situaasjes Unicode kinne, mei help fan 8-bit taalkodearjen yn foar stiet foar Unicode karakters, eltse lykweardich ASCII karakter of in kontrôle karakter. Dêrta, en it is UTF-8 kodearring.

fariabele lingte

UTF-8 - taalkodearjen fan fariabele lingte, besteande út 8-bit opslach ienheden, de boppeste bits dy't oanjouwe mei hokker diel fan in rige fan elke yndividuele byte heart. Ien oanbod fan wearden allotted oan it earste elemint fan 'e koade folchoarder, in oar - foar de folgjende. Dit soarget foar disjointness kodearring.

ASCII

UTF-8 kodearring wurdt folslein stipe ASCII koades (0x00-0x7F). Dat betsjut dat de Unicode karakters U + 0000-U + 007F omset wurde nei ien byte 0x00-0x7F UTF-8 en dus wurden indistinguishable út ASCII. Boppedat, foar te kommen ambiguïteit, de wearde 0x00-0x7F net brûkt gjin mear yn ien byte fertsjintwurdiging fan Unicode karakters. Te kodearjen symboalen neideograficheskih oars as ASCII, mei help fan in searje fan twa bytes. Symboalen rinne U + 0800-U + ffff wurde fertsjintwurdige troch trije bytes, en oanfoljende koades mei mear as U + ffff easkje fjouwer bytes.

sfear fan tapassing

UTF-8 kodearring meastal wurdt jûn foarkar yn it HTML protokol, en al sa mear.

XML is wurden de earste standert mei folle stipe foar UTF-8 kodearring. Noarmen organisaasjes ek advisearje kin. Stipe probleem yn it URL-adres dat oars út de ASCII-tekens, waard oplost doe't de Konsortium W3C en IETF engineering groep kaam ta in oerienkomst op it taalkodearjen yn fan alle URL adressen allinnich yn UTF-8.

Komptabiliteit mei ASCII fasilitearret de oergong nei de nije software. Mei UTF-8 wurket measte tekst redakteuren, wêrûnder JEdit, Emacs, BBEdit, Eclipse, en "skriuwboekje" de Windows bestjoeringssysteem. Gjin oare foarm fan kodearring Unicode kin net bogen fan sa'n stipe fan it ark.

taalkodearjen foardiel is dat it bestiet út in searje fan bytes. Mei UTF-8 string is maklik om te wurkjen yn C en oare programmearring talen. Dit is de iennichste foarm fan kodearring, de folchoarder net nedich labels bytes BOM of in kodearingsdeklaraasje yn de XML.

self-syngronisaasje

Yn in omjouwing dy't brûkt 8-bit symboalen fan de ferwurking fergelike mei oare multi-byte karakter sets, UTF-8 hat de folgjende foardielen:

  • De earste byte koade sequence befettet ynformaasje oer syn lingte. Dit fergruttet de effisjinsje fan de direkte sykjen.
  • Ferienfâldige sykjen it begjin fan it symboal as it begjinpunt byte is beheind ta in fêste oanbod fan wearden.
  • Gjin krusing byte wearden.

Ferlykje de foardielen

UTF-8 kodearring is kompakt. Mar doe't brûkt foar kodear East Aziatyske karakters (Sineesk, Japansk, Koreaansk, Sineesk skriuwen mei help fan buorden) brûkt 3-byte sekwinsjes. Ek UTF-8 kodearring is onderdoen foar oare foarmen fan taalkodearjen ferwurkjen snelheid. In binaire sorting linen produsearret itselde resultaat as de binêr sorting Unicode.

It karakter kodearring skema

It karakter kodearring regeling bestiet kodearring symboalen foarm en metoade foar inkele byte lokaasje koade ienheden. Fêst te stellen de kodearring scheme Unicode standert jout it brûken fan in earste Byte Order Mark (BOM, Byte folchoarder mark).

Doe't de BOM yn UTF-8 funksje tag wurdt beheind allinne troch ferwizing nei it brûken fan foarmen fan taalkodearjen yn. Problemen by it fêststellen fan de endian UTF-8 hawwe, as syn kodearring unit grutte is ien byte. Mei help fan de BOM foar dizze foarm fan taalkodearjen is net nedich en ek net oan te rieden. BOM meie komme foar yn 'e tekst dat konvertearre wurdt fan oare codings mei help Byte Order Mark of hantekening foar UTF-8 kodearring. Is in searje fan 3 bytes EF BB 16 16 BF 16.

Hoe om de UTF-8 kodearring

De HTML taalkodearjen yn UTF-8 wurdt ynstallearre mei de folgjende koade:

holle

Meta http-equiv = "Content-Type" content = "text / html; charset = UTF-8" ˃

Yn PHP UTF-8 kodearring is set mei help fan it kop () funksje oan it begjin fan de triem nei it ynstellen fan de útfier nivo wearde flater:

˂? Fil

error_reporting (-1);

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

Ferbine mei in MySQL databank UTF-8 kodearring is ynsteld:

˂? Fil

mysql_set_charset ( 'utf8');

De CSS-triem kodearring is UTF-8 tekens wurdt opjûn as folget:

@charset "utf-8";

As jo bewarje de triemmen fan alle soarten kieze UTF-8 kodearring sûnder BOM, oars de site sil net wurkje. Te dwaan dat yn DreamWeave moatte selektearje de menu item "Aanpassingen - Side Eigenskippen - Titel / Kodearring" om wizigjen de kodearring foar UTF-8. Folge troch de side te ferfarskjen, smyt de markearring fan "Connect Unicode hantekening (BOM)» en de wizigingen tapasse. As alle tekst op in side of yn in databank yntrodusearre in oare foarm fan taalkodearjen yn, is it nedich om nij of fier opnij Encode. As jo wurkje mei reguliere útdrukkings, wês wis te brûken de modifikaasjekaai u.

Jo kinne ek bewarje de triem yn UTF-8 kodearring yn it "skriuwboekje" fan Windows. Nei selektearjen fan de menuopsje "Triem - Bewarje as ..." om ynstallearje de needsaaklike foarm fan kodearring en bewarje de triem yn UTF-8.

Yn in tekst bewurker Notepad ++, as jo dit ynstelle oars as UTF-8, fia it menu item "omsette nei UTF-8 sûnder BOM» feroarje it karakter en bewarje yn UTF-8.

der is gjin alternatyf

Yn it ramt fan globalisearring, dêr't politike en taalkundige grinzen wurde gewist, it karakter sets dy't hawwe lokale skaaimerken, binne fan bytsje gebrûk. Unicode is in inkele tekenset dy stipet alle localizations. In UTF-8 - in foarbyld fan 'e goede útfiering fan unykoade, dat is:

  • It stipet in breed ferskaat oan ark, ynklusyf komptabiliteit mei ASCII encoding;
  • It is resistint foar distortion data;
  • ienfâldich en effektyf yn de behanneling;
  • is platfoarm ûnôfhinklik.

Mei de komst fan de UTF-8 debat oer hokker foarm fan kodearring of tekenset is better, it wurdt sinleas.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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