DatoriProgrammēšana

UTF-8 - rakstzīmju kodējums

Unicode atbalsta praktiski visus esošos rakstzīmju kopas. Labākais veids kodēšanas Unicode rakstzīmju kopa UTF-8 kodējumu. Tā atbalsta saderību ar ASCII, izturība pret sagrozīšanu datiem, efektivitāti un atvieglotu apstrādi. Bet vispirms lietas pirmās.

kodēšanas forma

Datori darbojas ne tikai kā skaitļi abstraktas matemātiskas objektus, kā arī kombinācijas vienībām glabāšanas un apstrādes fiksēta izmēra datiem - baitu un 32-bitu vārdus. Kodēšana standarts tas jāņem vērā, nosakot, kā prezentēt rakstzīmju skaitu.

In datoru sistēmām, veseli skaitļi uzglabā atmiņas šūnās 8 bitiem (1 baits), 16 bitu vai 32. Katra forma definē unikoda kodējumu, kas secība no atmiņas šūnas ir vesels skaitlis, kas atbilst noteiktam simbolu. Šajā standartā ir trīs dažādu veidu kodēšanas unikoda rakstzīmes 8, 16 un 32 bitu blokus. Attiecīgi, tie ir pazīstami kā UTF-8, UTF-16 un UTF-32. Vārds UTF apzīmē Unicode transformācijas formātā. Katrs no trim veidiem kodē līdzekļiem ir vienāda pārstāvība Unicode rakstzīmju ir priekšrocības dažādām lietojumprogrammām.

Datu šifrēšana var tikt izmantoti, lai pārstāvētu visas rakstzīmes Unicode standartā. Tātad, tie ir pilnībā savietojama ar risinājumiem, dažādu iemeslu dēļ, izmantojot dažādas formas kodēšanu. Katrs kodēšanas var nepārprotami pārveidot kādu no pārējiem diviem, nezaudējot datus.

nenalozheniya princips

Katrs no formas Unicode kodējumā izstrādāta, ņemot vērā ne daļēja pārklāšanās. Piemēram, Windows-932 veido rakstzīmes viena vai divu baitu kodu. Secība garums ir atkarīgs no pirmo baitu, tā vadošie baitu sērijas vērtībām divu baitu un vienu baitu izmežģīt. Tomēr viens baits vērtība un trailing baits secība sakrīt. Tas nozīmē, ka, piemēram, raksturs meklēšana D (kods 44), var atrast kļūdaini noslēdzot otro daļu secību divu baitu rakstzīmju "D" (kods 84 44). Lai noskaidrotu, kura secība ir pareiza, programma jāņem vērā iepriekšējie baiti.

Situācija ir sarežģīta, ja sākuma un beigu baiti spēles. Tas nozīmē, ka, lai novērstu neskaidrības būs reverse lookup nesasniedzot sākumu teksta vai unikālo kodu secībā. Tas ir ne tikai neefektīva, bet nav pasargāts no iespējamām kļūdām, jo tikai viens nepareizs baits uz pilnu tekstu ir kļuvis nesalasāms.

Formāts konversija Unicode novērš šo problēmu, jo vērtība vadošā skrituļa, un viena vienība uzglabāšanas, nav tā pati informācija. Tas nodrošina, ka visu Unicode meklēšanai un salīdzināšanu, nekad dod kļūdainus rezultātus, jo sakritība dažādām rakstzīmju kodu. Fakts, ka šie kodēšanas veidi novērot principu nenalozheniya, atšķir tos no citām Austrumāzijas multi-baitu kodējumus.

Vēl viens nonintersection aspekts Unicode kodējumiem ir tas, ka katrs raksturs ir skaidri definēta robeža. Tas novērš nepieciešamību, lai skenētu nenoteiktu skaitu iepriekšējos simbolus. Šī funkcija ir dažreiz sauc sevi clocking kodējumu. Distortion koda vienību ieviesīs kropļošanu tikai vienu rakstzīmi, un apkārtējie varoņi joprojām ir neskarts. Ar 8-bit formāta konversijas, ja rādītājs norāda uz baitu, sākot ar 10xxxxxx (binārā koda), lai atrastu sākuma simbola ir nepieciešama viena līdz trim reverse pārejām.

konsistence

Unicode Consortium pilnībā atbalsta visas 3 formas kodējumus. Ir svarīgi, lai pret to UTF-8 un Unicode, jo visiem pārvēršanas formātiem - vienlīdz derīgas formām iemiesojums Unikoda rakstzīmju kodēšanas standartu.

Byte-orientācija

Pārstāvēt UTF-32 rakstzīmes, būs nepieciešama 32 bitu kodu vienība, kas sakrīt ar Unicode kodu. UTF-16 - vienu vai divus 16 bitu vienībās. UTF-8 izmanto līdz 4 bytes.

UTF-8 kodējumu, ir izstrādāta, lai būtu saderīgs ar baitu orientētu ASCII balstītu sistēmu. Lielākā daļa esošo programmatūru un praksi informācijas tehnoloģiju ilgu laiku balstījās uz pārstāvniecību rakstzīmes baitu secība. Vairāki protokoli atkarīgs noturības ASCII kodējumā un izmanto vai nu izvairās īpašas kontroles rakstzīmes. Vienkāršs veids, kā pielāgoties situācijām Unicode var, izmantojot 8 bitu kodēšanu pārstāv unikoda rakstzīmes, līdzvērtīga ASCII rakstzīmi vai kontroles raksturu. Lai to panāktu, un tas ir UTF-8 kodējumu.

mainīga garuma

UTF-8 - kodēšanas no dažāda garuma, kas sastāv no 8-bit uzglabāšanas vienībām, augšējie biti, kas norāda uz kādu daļu no secības katra atsevišķā baits rajons. Viens vērtību diapazons pieśķirtajām ar kodu secībā pirmo elementu, otrs - uz nākamo. Tas nodrošina disjointness kodējumu.

ASCII

UTF-8 kodējumu ir pilnībā atbalstīts ASCII kodi (0x00-0x7F). Tas nozīmē, ka unikoda rakstzīmes U + 0000-U + 007F tiek pārvērsti viens baitu 0x00-0x7F UTF-8 un tādējādi kļūt atšķiramas no ASCII. Turklāt, lai izvairītos no neskaidrībām, vērtību 0x00-0x7F nelieto vienā baitu pārstāvniecību unikoda rakstzīmes. Kodēt simboli neideograficheskih izņemot ASCII, izmantojot secību divu baitu. Simboli svārstās U + 0800-U + FFFF pārstāv trīs baiti, un papildu kodus ar vairāk nekā U + FFFF prasa četrus baitus.

piemērošanas joma

UTF-8 kodējumu, parasti tiek dota priekšroka HTML protokolu, un tamlīdzīgi.

XML kļuvis par pirmo standarta ar pilnu atbalstu UTF-8 kodējumu. Standartizācijas organizācijas arī ieteiktu to. Atbalsta problēma URL adresi, kas ir atšķirīgs no ASCII rakstzīmes, tika atrisināta, kad konsorcijs W3C un IETF inženieru grupa vienojās par kodēšanu visām URL adresēm tikai UTF-8.

Saderība ar ASCII atvieglo pāreju uz jauno programmatūru. Ar UTF-8 nostrādā visvairāk teksta redaktori, tostarp JEdit, Emacs, BBEdit, Eclipse, un "Notepad" Windows operētājsistēmu. Neviena cita veida kodēšanas Unicode nevar lepoties ar šāda atbalsta rīks.

kodēšanas priekšrocība ir tā, ka tas sastāv no baitu secība. Ar UTF-8 string ir viegli strādāt C un citas programmēšanas valodas. Tas ir vienīgais veids kodējumu, pasūtījums neprasa etiķetes baiti BOM vai kodējuma deklarācija XML.

self-sinhronizācija

Vidē, kas izmanto 8 bitu simbolus no apstrādes, salīdzinot ar citiem multi-baitu rakstzīmju kopām, UTF-8 ir šādas priekšrocības:

  • Pirmais baits kods secība satur informāciju par tā garumu. Tas palielina efektivitāti tiešo meklēšanu.
  • Vienkāršota atrast sākumu simbola kā starta baits ir ierobežota ar noteiktu vērtību diapazonā.
  • Nav krustojums baitu vērtības.

Salīdziniet priekšrocības

UTF-8 kodējums ir kompakts. Bet, kad izmanto kodēšanai Austrumāzijas rakstzīmes (ķīniešu, japāņu, korejiešu, ķīniešu rakstīšana izmantojot zīmes), ko izmanto 3-baitu secību. Arī UTF-8 kodējumu, ir zemāka par cita veida kodēšanas apstrādes ātrumu. Bināro šķirošanas līnijas rada tādu pašu rezultātu, kā bināro šķirošanas Unicode.

Rakstzīmju kodēšanas shēma

Rakstzīmju kodējuma shēma satur kodēšanas simboli formu un metodi vienu baitu location kods vienībām. Lai noteiktu kodēšanas shēmu Unicode standarts paredz izmantot sākotnējās baits pasūtījuma zīmi (BOM, Byte pasūtījumu zīmes).

Kad BOM UTF-8 iezīme tag ir ierobežota tikai ar atsauci uz lietošanu formām kodēšanas. Problēmām, nosakot Endian UTF-8 ir, kā tā encoding vienība izmērs ir viens baits. Izmantojot BOM par šāda veida kodēšanu nav ne vajadzīgs, ne ieteicama. BOM var rasties tekstā jāpārvērš no citām kodu nozīmi, kas izmanto baitu secībā zīmi vai parakstu uz UTF-8 kodējumu. Ir secība 3 bytes EF BB 16 16 BF 16.

Kā iestatīt UTF-8 kodējumu

HTML kodēšana UTF-8 ir uzstādīta ar šādu kodu:

galva

META http-ekvivalents = "Content-Type" content = "text / html; charset = utf-8" ˃

PHP UTF-8 kodējumu ir noteikts, izmantojot header () funkciju sākumā failu pēc darbības izejas līmeņa vērtību kļūda:

˂? Php

error_reporting (-1);

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

Lai izveidotu savienojumu ar MySQL datu bāzi UTF-8 kodējumu ir noteikts:

˂? Php

mysql_set_charset ( 'utf8');

CSS fails kodējums UTF-8 rakstzīmes, ir noteikta šādi:

@charset "UTF-8";

Saglabājot failus visu veidu izvēlas UTF-8 kodējumu bez BOM, citādi vietne nedarbosies. Lai to izdarītu DreamWeave jāizvēlas izvēlnes punkts "Izmaiņas - Page Properties - Nosaukums / Encoding" mainīt kodējumu uz UTF-8. Seko ielādējiet lapu noņemiet atzīmi no "Connect Unicode paraksts (BOM)» un piemērot izmaiņas. Ja kāds teksts uz lapas vai datu bāzē tika ieviesta cita veida kodēšanas, ir nepieciešams atkārtoti ievadīt vai atkārtoti šifrēt. Kad jūs strādājat ar regulārām izteiksmēm, pārliecinieties, lai izmantotu pārveidotāju u.

Varat arī saglabāt failu UTF-8 kodējumu ar "Notepad" Windows. Pēc izvēloties izvēlnes punktu "File - Save As ...", lai instalētu nepieciešamo formu kodējumu, un saglabājiet failu UTF-8.

Teksta redaktors Notepad ++, vai kas cits, nekā UTF-8, izmantojot izvēlnes vienumu "Konvertēt uz UTF-8 bez BOM» mainīt raksturu un saglabāt UTF-8.

nepastāv alternatīva

Saistībā ar globalizāciju, kur politiskie un valodu robežas ir jāizdzēš, rakstzīmju kopu, kas ir vietējās īpatnības, ir maz izmantota. Unicode ir viena rakstzīmju kopa, kas atbalsta visas lokalizācijas. UTF-8 - piemērs pareizas īstenošanas Unicode, kas ir:

  • Tā atbalsta dažādus instrumentus, tostarp atbilstību ASCII kodējumā;
  • Tas ir izturīgs pret izkropļojumiem datiem;
  • vienkāršs un efektīvs, lai ārstētu;
  • ir platformas neatkarīgs.

Ar Advent UTF-8 debatēs par to, kāda veida kodēšanas vai rakstzīmju kopas ir labāk, tas kļūst bezjēdzīga.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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