Kompjuters, Ipprogrammar
UTF-8 - kodifikazzjoni tal-karattri
Unicode jappoġġja kważi kollha settijiet ta 'karattri eżistenti. L-aqwa forma ta 'kodifikazzjoni sett ta' karattri Unicode huwa UTF-8 kodifikazzjoni. Huwa jappoġġa kompatibilità ma 'ASCII, reżistenza għal distorsjoni tad-dejta, l-effiċjenza u l-faċilità ta' proċessar. Iżda ewwel affarijiet ewwel.
forma kodifikazzjoni
Kompjuters joperaw mhux biss bħala numri oġġetti astratti matematiċi, kif ukoll il-kombinazzjonijiet ta 'unitajiet ta' ħażna u trattament ta 'data ta' daqs fiss - byte u kliem 32-bit. istandard kodifikazzjoni għandha tieħu dan in kunsiderazzjoni meta jiġi ddeterminat kif ikunu ppreżentati l-għadd ta 'karattri.
Fil sistemi tal-kompjuter, l-interi maħżuna fiċ-ċelloli tal-memorja ta '8 bit (1 byte), 16 jew 32 bit. Kull formola jiddefinixxi kodifikazzjoni Unicode, li sekwenza ta 'ċelluli memorja huwa integer tikkorrispondi għas-simbolu partikolari. Fl-istandard hemm tliet forom differenti ta 'kodifikazzjoni karattri Unicode 8, 16 u 32-bit blokki. Għaldaqstant, dawn huma magħrufa bħala UTF-8, UTF-16 u UTF 32. Isem UTF stands għall Unicode Trasformazzjoni Format. Kull wieħed mill-tliet forom ta 'mezzi kodifikazzjoni hija ugwali karattru Unicode rappreżentazzjoni għandu vantaġġi fl-applikazzjonijiet varji.
Ħabi ta 'data jista' jintuża biex jirrappreżenta karattri kollha fl-istandard Unicode. B'hekk, huma kompatibbli bis-sħiħ għal soluzzjonijiet għal varjetà ta 'raġunijiet, użu ta' forom differenti ta 'kodifikazzjoni. Kull kodifikazzjoni tista mingħajr ambigwità jiġu konvertiti fi kwalunkwe ta 'l-tnejn l-oħra mingħajr telf ta' data.
prinċipju nenalozheniya
Kull wieħed mill-kodifikazzjoni forom Unicode żviluppati fid-dawl ta 'sovrapożizzjoni nuqqas parzjali. Per eżempju, Windows 932 jifforma l-karattri ta 'wieħed jew żewġ bytes ta' kodiċi. It-tul sekwenza tiddependi fuq l-ewwel byte, sabiex il-valuri byte ewlenin fis-serje ta 'żewġ bytes u disjoint byte wieħed. Madankollu, il-valur ta 'byte wieħed u tkaxkir sekwenza byte jista jikkoinċidu. Dan ifisser, pereżempju jekk l-isforz karattru D (kodiċi 44) jistgħu jsibuha żbaljat jidħlu fit-tieni porzjon tas-sekwenza ta 'żewġ bytes karattri "D" (kodiċi 84 44). Biex issir taf liema sekwenza hija korretta, il-programm għandu jieħu kont tal-bytes ta 'qabel.
Is-sitwazzjoni hija kkumplikata, jekk il jwassal u tkaxkir bytes logħba. Dan ifisser li biex tneħħi l-ambigwità se jkun reverse qabel ma jilħqu il-bidu tat-test jew is-sekwenza kodiċi uniku. Dan mhux biss ineffiċjenti, iżda mhix protetta minn żbalji possibbli, peress li wieħed biss byte ħażin għat-test sħiħ sar tinqarax.
konverżjoni format Unicode jevita din il-problema minħabba li l-valur mill-ewlenin, batuta, u unità waħda ta 'ħażna mhumiex l-istess informazzjoni. Dan jiżgura li kull Unicode għat-tiftix u l-paragun, qatt jagħti riżultati żbaljati minħabba l-koinċidenza ta 'partijiet differenti tal-kodiċi karattru. Il-fatt li dawn il-forom ta 'kodifikazzjoni josservaw il-nenalozheniya prinċipju, jiddistingwihom minn encodings multi-byte Asja tal-Lvant oħra.
Aspett ieħor nonintersection encodings Unicode huwa li kull karattru għandha fruntiera definit b'mod ċar. Dan jelimina l-ħtieġa li scan numru indefinit ta 'simboli ta' qabel. Din il-karatteristika huwa xi kultant imsejjaħ awto clocking kodifikazzjoni. Distorsjoni ta 'unitajiet kodiċi se tintroduċi distorsjoni ta' karattru wieħed biss, u l-karattri tal-madwar għadhom intatti. Fil-8-bit konverżjoni format, jekk il-punti pointer għall-byte, li tibda bil 10xxxxxx (fil-kodiċi binarju) biex isibu l-bidu tas-simbolu huwa meħtieġ għal wieħed sa tliet tranżizzjonijiet reverse.
konsistenza
Unicode Konsorzju jappoġġja bis-sħiħ 3 Forom kollha ta 'encodings. Huwa importanti li ma jopponix l-UTF-8 u Unicode, kif formati kollha konverżjoni - b'mod ugwali forom validi ta 'inkarnazzjoni tal-istandard karattru kodifikazzjoni Unicode.
Byte-orjentazzjoni
Li tirrappreżenta UTF-32 karattru se jeħtieġu kodiċi unità 32-bit, li jikkoinċidi mal-kodiċi Unicode. UTF 16 - wieħed għal żewġ unitajiet 16-bit. A UTF-8 tuża sa 4 bytes.
kodifikazzjoni UTF-8 hija mfassla biex tkun kompatibbli mas-sistemi bbażati fuq l-ASCII orjentati byte. Ħafna mill-software u l-prattika tat-teknoloġija informatika eżistenti għal żmien twil invokat ir-rappreżentazzjoni ta 'karattri f'sekwenza ta' bytes. protokolli multipli jiddependi fuq il-kostanza tal kodifikazzjoni ASCII u l-użi jew jevita l-karattri speċjali ta 'kontroll. A mod sempliċi biex jadattaw għas-sitwazzjonijiet Unicode jistgħu, bl-użu kodifikazzjoni 8-bit biex jirrappreżentaw karattri Unicode, karattru ASCII ekwivalenti jew karattru kontroll. Għal dan il-għan, u huwa UTF-8 kodifikazzjoni.
tul varjabbli
UTF-8 - kodifikanti tad tul varjabbli, li jikkonsisti minn unitajiet ta 'ħażna 8-bit,-bits ta' fuq li jindikaw għal liema parti tas-sekwenza ta 'kull byte individwali jappartjeni. Wieħed firxa ta 'valuri allokati għall-ewwel element tas-sekwenza kodiċi, ieħor - għal dak li jmiss. Dan jipprovdi kodifikazzjoni disjointness.
ASCII
kodiċijiet ASCII kodifikazzjoni UTF-8 huwa kompletament appoġġati (0x00-0x7F). Dan ifisser li l-karattri Unicode U + 0000-U + 007F huma maqluba byte wieħed 0x00-0x7F UTF-8 u b'hekk isiru distingwibbli minn ASCII. Barra minn hekk, biex jiġi evitat ambigwità, il-valur 0x00-0x7F ma jintużax aktar fil rappreżentazzjoni byte wieħed ta 'karattri Unicode. Sabiex jikkodifikaw simboli neideograficheskih għajr ASCII, bl-użu ta 'sekwenza ta' żewġ bytes. Simboli jvarjaw U + 0800-U + FFFF huma rappreżentati minn tliet bytes, u l-kodiċi addizzjonali b'aktar minn U + FFFF jinħtieġu erbgħa bytes.
isfera ta 'applikazzjoni
kodifikazzjoni UTF-8 normalment tingħata preferenza fil-protokoll HTML, u simili.
XML sar l-ewwel standard bl-appoġġ sħiħ għall UTF-8 kodifikazzjoni. organizzazzjonijiet ta 'standards jirrakkomanda wkoll. problema ta 'appoġġ fil-indirizz URL li huwa differenti mill-ASCII-karattri, ġiet solvuta meta l-W3C konsorzju u grupp ta' inġinerija IETF wasal għal ftehim dwar il-kodifikazzjoni ta 'kull indirizzi URL esklussivament fil UTF-8.
Kompatibbiltà mal ASCII tiffaċilita t-tranżizzjoni għall-softwer il-ġdid. Bil UTF-8 xogħlijiet aktar edituri test, inklużi JEdit, Emacs, BBEdit, Eclipse, u "notepad" is-sistema operattiva Windows. Nru forma oħra ta 'kodifikazzjoni Unicode ma tista' tiftaħar ta 'tali appoġġ ta' l-għodda.
kodifikazzjoni vantaġġ huwa li jikkonsisti f'sekwenza ta 'bytes. Bil UTF-8 sekwenza huwa faċli biex jaħdmu fis-C u lingwi oħra ta 'programmazzjoni. Dan huwa l-unika forma ta 'kodifikazzjoni, l-ordni ma teħtieġx tikketti bytes BOM jew dikjarazzjoni kodifikazzjoni fl-XML.
awto-sinkronizzazzjoni
F'ambjent li juża simboli 8-bit tal-ipproċessar meta mqabbla ma 'settijiet oħra ta' karattri multi-byte, UTF-8 għandu l-vantaġġi li ġejjin:
- L-ewwel sekwenza kodiċi byte fiha informazzjoni dwar it-tul tiegħu. Dan iżid l-effiċjenza tat-tfittxija diretta.
- Simplifikat konstatazzjoni tal-bidu tas-simbolu bħala l-byte tal-bidu hija limitata għal firxa fissa ta 'valuri.
- Ebda valuri byte intersezzjoni.
Qabbel il-benefiċċji
kodifikazzjoni UTF-8 huwa compact. Iżda meta jintużaw għal kodifikazzjoni karattri Asja tal-Lvant (Ċiniż, Ġappuniż, Korean, kitba Ċiniż jużaw sinjali) użati sekwenzi 3-byte. Wkoll UTF-8 kodifikazzjoni huwa inferjuri għal forom oħra ta 'kodifikazzjoni ipproċessar tal-veloċità. A linji issortjar binarja jipproduċi l-istess riżultat bħall-binarju issortjar Unicode.
L-iskema kodifikazzjoni tal-karattri
L-iskema kodifikazzjoni tal-karattri jinkludi simboli kodifikazzjoni forma u l-metodu għall-unitajiet Kodiċi tal-lokazzjoni byte wieħed. Biex tiddetermina l-iskema ta 'kodifikazzjoni standard Unicode jipprovdi l-użu ta' marka ordni byte inizjali (Trade ordni BOM, Byte).
Meta l-BOM fil UTF-8 karatteristika tikketta hija limitata biss b'referenza għall-użu ta 'forom ta' kodifikazzjoni. Problemi fid-determinazzjoni tal-UTF-8 endian għandhom, bħala daqs ta 'unità kodifikazzjoni tagħha hija byte wieħed. Uża l-BOM għal din il-forma ta 'kodifikazzjoni huwa la meħtieġ u lanqas rakkomandat. BOM jistgħu jseħħu fit-test li għandu jkun ikkonvertit minn kodićijiet oħra li jużaw marka ordni byte jew firma għal UTF-8 kodifikazzjoni. Hija sekwenza ta '3 bytes EF BB 16 16 BF 16.
Kif jiġu stabbiliti l-UTF-8 kodifikazzjoni
Il HTML coding UTF-8 huwa installat bil-kodiċi li ġej:
hEAD
META http-'ekwivalenti = "Kontenut-Tip" kontenut = "test / html; charset = UTF-8" ˃
Fil-PHP UTF-8 kodifikazzjoni huwa stabbilit bl-użu header () funzjoni fil-bidu tal-fajl wara iffissar tal-iżball valur livell ta 'produzzjoni:
˂? PHP
error_reporting (-1);
header ( "Kontenut-Tip: test / html; charset = UTF-8");
Li jgħaqqdu għal database MySQL UTF-8 kodifikazzjoni huwa stabbilit:
˂? PHP
mysql_set_charset ( "UTF8");
Il-kodifikazzjoni CSS fajl huwa karattri UTF-8 huwa speċifikat kif ġej:
@charset "UTF-8";
Meta inti tiffranka l-fajls tat-tipi kollha jagħżlu UTF-8 kodifikazzjoni mingħajr BOM, inkella s-sit mhux se taħdem. Biex tagħmel dan fil DreamWeave jeħtieġ li jagħżel l-oġġett menu "Modifiki - Page Properties - Titlu / Encoding" li jibdlu l-kodifikazzjoni li UTF-8. Jkun segwit minn tagħbija il-paġna, neħħi l-check mark minn "firma Connect Unicode (BOM)» u japplikaw il-bidliet. Jekk xi test fuq paġna jew f'database ġiet introdotta forma oħra ta 'kodifikazzjoni, huwa meħtieġ li jerġa' jidħol jew jikkodifikaw ri. Meta inti taħdem ma 'espressjonijiet regolari, ikunu żguri li jużaw l-modifikatur u.
Tista 'wkoll jiffranka l-fajl fil kodifikazzjoni UTF-8 fil- "notepad" tal-Windows. Wara l-għażla l-oġġett menu "File - Save As ..." biex tinstalla l-forma meħtieġa tal kodifikazzjoni u jiffrankaw l-fajl fil UTF-8.
F'test notepad editur ++, jekk dawn jiġu stipulati minbarra UTF-8, permezz tal-oġġett menu "Ikkonverti l UTF-8 mingħajr BOM» tbiddel il-karattru u ħlief fil UTF-8.
m'hemm l-ebda alternattiva
Fil-kuntest tal-globalizzazzjoni, fejn fruntieri politiċi u lingwistiċi huma mħassra, il-settijiet tal-karattri li għandhom karatteristiċi lokali, huma ta 'ftit użu. Unicode huwa sett ta 'karattri wieħed li jappoġġja localizations kollha. A UTF-8 - eżempju tal-implimentazzjoni xierqa ta 'Unicode, li hija:
- Huwa jappoġġa firxa wiesgħa ta 'għodod, inkluża l-kompatibilità ma' kodifikazzjoni ASCII;
- Huwa reżistenti għad-data distorsjoni;
- sempliċi u effettiv fit-trattament;
- huwa pjattaforma indipendenti.
Bil-miġja tad-dibattitu UTF-8 dwar liema forma ta 'kodifikazzjoni jew sett ta' karattri huwa aħjar, isir bla sens.
Similar articles
Trending Now