Computer, Programming
UTF-8 - kinaiya encode
Unicode nagsuporta halos sa tanan nga mga kasamtangan nga sets kinaiya. Ang labing maayo nga matang sa encode Unicode kinaiya set mao ang UTF-8-encode. Kini nagsuporta sa pagkaangay sa ASCII, pagbatok sa pagtuis sa mga datos, ang efficiency ug kasayon sa pagproseso. Apan una nga mga butang-una.
coding porma
Computer operate dili lamang ingon nga mga numero abstract matematika butang, ingon man sa mga kalihokan sa mga yunit sa pagtipig ug sa pagdumala sa natudlong-gidak-on data - Byte ug 32-gamay nga mga pulong. Encode sumbanan kinahanglan niini ngadto sa account sa diha nga pagtino kon sa unsang paagi sa pagpresentar sa sa gidaghanon sa mga karakter.
Sa sistema sa computer, ang mga integers gitipigan diha sa mga selula sa handumanan sa 8 mga tipik (1 Byte), 16 o 32 tipik. Ang matag porma naghubit sa usa ka Unicode encode, nga han-ay sa mga selula sa handumanan mao ang usa ka integer katumbas sa usa ka partikular nga simbolo. Sa sumbanan adunay tulo ka lain-laing mga matang sa coding Unicode karakter 8, 16 ug 32-gamay bloke. Busa, sila nailhan nga UTF-8, UTF-16 ug UTF-32. Ngalan UTF nagbarug alang sa Unicode Transformation format. Ang matag usa sa tulo ka mga matang sa encode paagi mao ang patas nga representasyon Unicode kinaiya adunay bentaha sa nagkalain-laing mga aplikasyon.
Data encryption mahimong gamiton sa pagrepresentar sa tanan nga mga karakter diha sa Unicode standard. Busa, sila bug-os nga compatible sa mga solusyon alang sa usa ka matang sa mga rason, sa paggamit sa lain-laing mga matang sa coding. Ang matag coding mahimo unambiguously nga nakabig ngadto sa bisan unsa sa lain nga duha ka nga walay pagkawala sa data.
nenalozheniya baruganan
Ang matag usa sa mga porma Unicode encode naugmad sa panglantaw sa mga dili partial sapaw. Pananglitan, Windows-932 nga mga porma sa mga sinulat sa usa o duha ka mga bytes sa code. Ang han-ay gitas-on nag-agad sa unang Byte, mao nga ang mga nag-unang mga prinsipyo Byte sa sunod-sunod nga duha ka-Byte ug single Byte disjoint. Apan, ang bili sa usa ka Byte ug banas Byte han-ay aron motakdo. Kini nagpasabot alang sa panig-ingnan nga ang kinaiya search D (code 44) makakaplag niini sayop nga pagsulod ngadto sa ikaduha nga bahin sa han-ay sa duha ka-Byte kinaiya "D" (code 84 44). Sa pagpangita sa nga han-ay mao ang husto, ang programa kinahanglan modala ngadto sa account sa miaging bytes.
Ang kahimtang mao ang komplikado, kon ang nag-unang ug sa banas bytes match. Kini nagpasabot nga aron sa pagtangtang sa sa mga ambiguity mahimong usa ka reverse lookup sa atubangan sa pagkab-ot sa sinugdanan sa teksto o sa talagsaon nga code ay. Kini mao ang dili lamang sa inefficient, apan dili gipanalipdan gikan sa posible nga mga sayop, tungod kay usa lamang ka sayop nga Byte sa bug-os nga teksto nahimong mabasa.
Format pagkakabig Unicode molikay niini nga problema tungod kay ang bili sa mga nag-unang, trailing, ug ang usa ka ka yunit sa pagtipig dili sa sama nga impormasyon. Kini nagsiguro nga ang tanan nga Unicode sa pagpangita ug sa pagtandi, dili gayud paghatag sayop nga resulta tungod sa sulagma sa lain-laing mga bahin sa code kinaiya. Ang kamatuoran nga kini nga mga matang sa coding pagsunod sa baruganan nenalozheniya, nakapalahi kanila gikan sa ubang East Asian multi-Byte encodings.
Ang laing aspeto nonintersection Unicode encodings mao nga ang matag kinaiya nga adunay usa ka tin-aw nga gihubit utlanan. Kini mitangtang sa mga panginahanglan sa scan sa usa ka walay tino nga gidaghanon sa mga miaging mga simbolo. Kini nga bahin mao ang usahay gitawag nga-sa-kaugalingon oras pag-encode. Pagtuis sa mga yunit sa code ang pagpaila sa usa ka pagtuis sa usa lamang ka kinaiya, ug sa palibot nga mga karakter mga tibuok pa. Sa 8-gamay format pagkakabig, kon ang pointer puntos sa Byte, sugod sa 10xxxxxx (sa duha code) sa pagpangita sa pagsugod sa simbolo gikinahanglan alang sa usa ngadto sa tulo ka reverse kausaban.
pagkamakanunayon
bug-os nga misuporta Unicode Consortium sa tanan 3 nga mga matang sa encodings. Kini mao ang importante nga dili sa pagsupak sa UTF-8 ug Unicode, sama sa tanan format pagkakabig - parehong balido matang sa larawan sa Unicode kinaiya-encode nga sumbanan.
Byte-orientation
Sa pagrepresentar sa UTF-32 karakter kinahanglan sa usa ka 32-gamay code yunit, nga natunong sa Unicode code. UTF-16 - sa usa ngadto sa duha ka 16-gamay nga mga yunit. Usa ka UTF-8 naggamit sa 4 bytes.
UTF-8-encode gidisenyo aron nga compatible uban sa Byte-oriented ASCII-based nga sistema. Kadaghanan sa mga kasamtangan nga software ug praktis sa impormasyon nga teknolohiya alang sa usa ka hataas nga panahon misalig sa representasyon sa mga karakter sa usa ka han-ay sa mga bytes. Multiple protocol agad sa pagkamakanunayon sa ASCII pag-encode ug naggamit sa bisan molikay sa mga espesyal nga pagkontrolar sa mga karakter. Usa ka yano nga paagi sa mopahiangay sa mga kahimtang Unicode mahimo, sa paggamit sa 8-gamay coding sa nagrepresentar sa Unicode nga mga karakter, sa bisan unsa nga katumbas ASCII nga kinaiya o sa usa ka kontrol sa kinaiya. Sa katapusan niini, ug kini mao ang UTF-8-encode.
baryable gitas-on
UTF-8 - coding sa baryable gitas-on, nga naglangkob sa 8-gamay nga yunit sa pagtipig, sa ibabaw nga mga tipik nga nagpakita nga bahin sa han-ay sa matag indibidwal nga Byte iya. Usa ka laing mga mga prinsipyo gigahin sa unang elemento sa han-ay code, laing - alang sa sunod. Kini disjointness pag-encode.
ASCII
UTF-8-encode ang bug-os nga gisuportahan ASCII code (0x00-0x7F). Kini nagpasabot nga ang Unicode karakter U + 0000-U + 007F ang nakabig ngadto sa ka Byte 0x00-0x7F UTF-8 ug sa ingon nahimo nga mailhan gikan sa ASCII. Dugang pa, aron sa paglikay sa ambiguity, ang bili 0x00-0x7F wala gigamit sa bisan unsa nga labaw pa sa usa lang ka Byte representasyon sa Unicode karakter. Aron encode simbolo neideograficheskih sa uban nga kay sa ASCII, sa paggamit sa usa ka han-ay sa duha ka bytes. Simbolo mukabat U + 0800-U + FFFF girepresentahan sa tulo ka bytes, ug dugang nga mga code uban sa labaw pa kay sa U + FFFF nagkinahanglan sa upat ka bytes.
dapit sa aplikasyon
UTF-8-encode sa kasagaran gihatag pagpalabi sa HTML protocol, ug sa mga sama.
XML nahimong ang unang standard sa bug-os nga suporta alang sa UTF-8-encode. Sumbanan sa mga organisasyon usab rekomend niini. Support problema sa URL nga pakigpulong nga lahi gikan sa ASCII-karakter, nasulbad sa diha nga ang consortium W3C ug IETF engineering grupo miabut sa usa ka kasabutan sa coding sa tanan nga mga pakigpulong URL lamang sa UTF-8.
Pagkaangay sa ASCII pasilitar sa transisyon ngadto sa bag-o nga software. Uban sa UTF-8 nagtrabaho labing teksto editor, lakip na ang JEdit, Emacs, BBEdit, Eklipse, ug "notepad" ang Windows operating sistema. Walay laing matang sa pag-encode Unicode dili manghambog sa maong usa ka suporta sa himan.
coding bentaha mao nga kini naglangkob sa usa ka han-ay sa mga bytes. Uban sa UTF-8 hilo mao ang sayon sa pagtrabaho sa P ug uban pang mga programming mga pinulongan. Kini mao lamang ang porma sa pag-encode, ang order wala magkinahanglan og label bytes bom o sa usa ka pag-encode nga deklarasyon sa XML.
-sa-kaugalingon dungan
Sa usa ka palibot nga naggamit 8-gamay simbolo sa pagproseso itandi sa ubang mga sets multi-Byte kinaiya, UTF-8 may sa mosunod nga mga bentaha:
- Ang unang Byte code han-ay naglangkob og mga impormasyon mahitungod sa gitas-on sa iyang mga. Kini nagdugang sa efficiency sa mga direkta nga search.
- Simplified pagpangita sa sinugdanan sa simbolo sama sa pagsugod Byte mao ang limitado ngadto sa usa ka natudlong-laing mga hiyas.
- Walay mga prinsipyo intersection Byte.
Itandi ang mga benepisyo
UTF-8-encode ang compact. Apan sa diha nga ang gigamit alang sa encode East Asian karakter (Chinese, Japanese, Korean, sa China sinulat sa paggamit sa mga ilhanan) nga gigamit 3-Byte han-ay. Usab UTF-8-encode mao ang ubos sa uban nga mga matang sa coding pagproseso speed. Usa ka duha hagpat mga linya og sa sama nga resulta ingon nga ang mga duha hagpat Unicode.
Ang kinaiya encode scheme
Ang kinaiya pag-encode nga pamaagi naglangkob sa pag-encode simbolo porma ug pamaagi alang sa single Byte mga yunit nga nahimutangan code. Aron sa pagtino sa pag-encode scheme Unicode standard naghatag sa paggamit sa usa ka inisyal nga Byte order nga marka (bom, Byte order marka).
Sa diha nga ang bom sa UTF-8 bahin tag limitado lamang pinaagi sa paghisgot sa sa paggamit sa mga matang sa coding. Mga problema sa pagtino sa endian UTF-8 adunay, ingon nga sa iyang pag-encode yunit gidak-on mao ang usa ka Byte. Pinaagi sa paggamit sa bom alang sa niini nga matang sa coding ang dili gikinahanglan ni girekomendar. Bom mahimong mahitabo diha sa mga teksto nga nakabig gikan sa ubang codings paggamit Byte order marka o pirma alang sa UTF-8-encode. Ang usa ka han-ay sa 3 bytes EF BB 16 16 BF 16.
Sa unsa nga paagi aron sa sa UTF-8-encode
Ang HTML coding UTF-8-instalar sa sa mga mosunod nga code:
ulo
Meta http-equiv = "Content-Type" sulod = "text / HTML; charset = utf-8" ˃
Sa PHP UTF-8-encode ang gibutang sa paggamit sa mga header () nga function sa sinugdanan sa file human sa paghimo sa sayop output bili nga lebel:
˂? Flp
error_reporting (-1);
header ( "Content-Type: teksto / HTML; charset = utf-8 ');
Sa Sumpaysumpaya ngadto sa usa ka MySQL database UTF-8-encode gibutang:
˂? Flp
mysql_set_charset ( 'utf8');
Ang CSS-file-encode mao ang UTF-8 karakter ang bungat ingon sa mosunod:
@charset "utf-8";
Sa diha nga sa pagluwas kaninyo sa mga files sa tanan nga mga matang sa pagpili UTF-8-encode nga walay bom, kon dili ang site dili sa trabaho. Sa pagbuhat niini sa DreamWeave kinahanglan sa pagpili sa menu item "kausaban - Page Properties - Title / encode" sa pag-usab sa pag-encode sa UTF-8. Gisundan sa reloading sa pahina, kuhaa ang tseke nga marka gikan sa "Connect Unicode pirma (bom)» ug sa paggamit sa mga kausaban. Kon sa bisan unsa nga teksto sa usa ka panid o sa usa ka database gipaila-ila sa laing dagway sa coding, kini mao ang gikinahanglan nga sa pag-mosulod o re-encode. Sa diha nga pagtrabaho kamo uban sa regular nga mga ekspresyon, nga sigurado sa paggamit sa modifier u.
Ikaw mahimo usab nga sa pagluwas sa mga file diha sa UTF-8-encode sa "notepad" sa Windows. Human sa pagpili sa menu item "File - Luwasa Ingon sa ..." sa pag-instalar sa gikinahanglan nga matang sa pag-encode ug sa pagluwas sa mga file diha sa UTF-8.
Sa usa ka notepad text editor ++, kon gibutang sa uban nga kay sa UTF-8, pinaagi sa menu item "Convert sa UTF-8 nga walay bom»-usab sa kinaiya ug sa pagluwas sa UTF-8.
walay alternatibo
Sa konteksto sa globalisasyon, diin ang politikal ug pinulongan utlanan nga mapapas, ang kinaiya sets nga lokal nga mga kinaiya, mga gamay nga paggamit. Unicode mao ang usa ka ka set kinaiya nga nagsuporta sa tanan nga mga localizations. Usa ka UTF-8 - sa usa ka panig-ingnan sa husto nga pagpatuman sa Unicode, nga mao ang:
- Kini nagsuporta sa usa ka halapad nga-laing mga himan, lakip na ang pagkaangay sa ASCII encode;
- Kini mao ang resistant sa pagtuis data;
- yano ug epektibo sa pagtambal;
- mao ang plataporma nga independente.
Uban sa anhi sa UTF-8 debate mahitungod sa kon unsa nga matang sa pag-encode o kinaiya set mao ang mas maayo, kini mahimong pulos.
Similar articles
Trending Now