CoimpiutaranPrògramadh

UTF-8 - còdachadh charactaran

Tha Unicode a 'toirt taic dha cha mhòr a h-uile seata caractar a th' ann. Is e an còdachadh as fheàrr airson seata caractair Unicode an còdachadh UTF-8. Tha e a 'toirt co-chòrdas ri ASCII, a' strì ri truailleadh dàta, èifeachdas agus furasta a bhith ag obrachadh. Ach mu dheidhinn a h-uile rud ann an òrdugh.

Foirmean còdaidh

Bidh coimpiutairean ag obrachadh le àireamhan chan ann dìreach mar nithean matamataigeach deamocrasach, ach mar measgachadh de dh'aonadan stòraidh agus làimhseachadh fiosrachaidh-bytes meud stèidhichte agus faclan 32-bit. Feumaidh còd ìre seo a 'gabhail a-steach nuair a bhios an co-dhùnadh ciamar a sheallas an àireamh de charactaran.

Ann an siostaman coimpiutaireachd, tha àireamhan air an stòradh ann an ceallan cuimhne de 8 bit (1 byte), 16 no 32 bit. Tha gach foirm còdachaidh Unicode a 'co-dhùnadh dè an sreath de cheallan cuimhne a tha a' riochdachadh sàmh-àireamh a fhreagras ri caractar sònraichte. Tha an ìre a 'toirt seachad trì diofar seòrsaichean còdachadh Caractaran Unicode: bloic 8, 16 agus 32-bit. Mar sin, canar UTF-8, UTF-16 agus UTF-32 riutha. Tha an t-ainm UTF na sheasamh airson cruth tionndaidh Unicode. Tha gach aon de na trì modhan còdachaidh mar dhòigh cho-ionann airson a bhith a 'riochdachadh charactaran Unicode, agus tha buannachdan ann an diofar thagraidhean.

Faodar na còdachadh seo a chleachdadh airson riochdachadh nan caractaran aig ìre Unicode. Mar sin, tha iad gu tur a 'co-fhreagairt airson fuasglaidhean airson adhbharan eadar-dhealaichte a' cleachdadh diofar chòdan. Faodar gach còdachadh a thionndadh gu h-àraidh gu aon de na dhà eile gun call dàta.

Prionnsabal nach deach a chuir a-mach

Tha gach aon de na foirmean còdachaidh Unicode air an dealbhadh le bhith a 'gabhail a-steach an ion-roghnachd a bhith a' gabhail pàirt pàirt den chòmhdach. Mar eisimpleir, cruthaichidh Windows-932 caractaran bho aon no dhà byte de chòd. Tha fad an òrdugh a 'crochadh air a' chiad byte, mar sin chan eil na luachan aste a tha air thoiseach ann an sreath dà bytes agus aon bhileag a 'tighinn a-steach. Ach, dh'fhaoidte gum bi na luachan a th 'anns an byte singilte agus beul dùnaidh an t-sreath mar an ceudna. Tha seo a 'ciallachadh, mar eisimpleir, nuair a tha thu a' lorg airson caractar D (còd 44), faodaidh tu a mhearachdachadh a bhith a 'dol a-steach don dàrna pàirt de dhà dhuilleag den charactar "D" (còd 84 44). Gus faighinn a-mach dè an t-sreath ceart, feumaidh am prògram a bhith a 'toirt aire do na beachdan roimhe.

Bidh an t-suidheachadh a 'fàs nas duilghe ma bhios am maighstir agus an dùn dùnaidh a' maidseadh. Tha seo a 'ciallachadh gum bi rannsachadh air ais air a choileanadh gu toiseach an teacsa no sreath neo-sheasmhach de chòd gus casg a chur air an teagamh. Chan e a-mhàin gu bheil seo neo-èifeachdach, ach chan eil e air a dhìon an aghaidh mearachdan a dh'fhaodadh a bhith ann, oir tha aon bhileag dhona gu leòr gus an teacsa gu lèir a dhèanamh gun leughadh.

Tha an cruth tionndaidh Unicode a 'seachnadh an duilgheadas seo seach nach eil luachan an stòraidh air thoiseach, air adhart agus aonad aonad fiosrachaidh co-ionnan. Air sgàth seo, tha a h-uile h-uidheamachadh Unicode freagarrach airson a bhith a 'lorg agus a' dèanamh coimeas, gun a bhith a 'toirt toradh mearachdach air sgàth co-shuidheachadh diofar phàirtean den chòd charactar. Tha an fhìrinn gu bheil na còdaichean seo a 'gèilleadh ris a' phrionnsapal de neo-obair a 'comharrachadh gu bheil iad a' cleachdadh chòdachadh ioma-bhiast eile san Àisianach.

Taobh eile nonintersection Unicode encodings gu bheil gach caractar tha soilleir a 'chrìch. Tha seo a 'cur às don fheum a bhith a' sganadh àireamh mì-chinnteach de charactaran roimhe. Tha am feart seo de chuairteachadh uaireannan air a bheil fèin-shioncronachadh. Bheir sgaradh aon aonad còd buaidh air aon charactar a-mhàin, agus tha samhlaidhean mun cuairt fhathast slàn. Anns an cruth tionndaidh 8-bit, ma tha an neach-cuideachaidh a 'toirt iomradh air beite a' tòiseachadh le 10xxxxxx (ann an còdachadh dà-chànanach), feumar eadar-theangachadh aon-thrì a dh 'ionnsaigh toiseach a' charactar.

Co-chòrdadh

Tha an Co-bhanntachd Unicode a 'toirt làn taic do na trì foirmean còdachaidh. Tha e cudromach gun a bhith a 'cur an aghaidh UTF-8 agus Unicode, oir tha na cruthan tionndaidh uile a cheart cho dligheach air foirmean còdachadh charactaran Unicode.

Stiùireadh do phàrantan

Gus an samhla UTF-32 a riochdachadh, feumaidh tu aon aonad còd-32-bit a tha a 'maidseadh còd Unicode. UTF-16 - bho aonadan aon gu dà 16-bit. Agus tha UTF-8 a 'cleachdadh suas ri 4 bytes.

Tha còdachadh UTF-8 air a dhealbhadh airson co-chòrdadh le siostaman byte-oriented stèidhichte air ASCII. Tha a 'chuid as motha den chleachdadh bathar-bog agus teicneòlas fiosrachaidh a th' ann an-dràsta air a bhith an urra ri riochdachadh shamhlaidhean ann an cruth sreath de bhileagan. Ioma pròtacalan an crochadh air constancy de ASCII còdachadh agus a 'cleachdadh an dàrna cuid a' seachnadh an sònraichte smachd caractaran. Is e dòigh furasta air Unicode atharrachadh gu suidheachaidhean mar sin le bhith a 'cleachdadh còdachadh 8-bit gus caractaran Unicode a riochdachadh co-ionann ri caractar ASCII no gnè smachd sam bith. Airson seo, tha còdachadh UTF-8 an dùil.

Fad atharrachadh

Is e còdachadh fad caochlaideach a th 'ann an UTF-8, a tha a' gabhail a-steach aonadan stòraidh fiosrachaidh 8-bit aig a bheil tomhas àrd-òrduigh a 'sealltainn dè am pàirt den t-sreath a tha aig gach aon bhile. Tha aon raon luachan glèidhte airson a 'chiad eileamaid den òrdugh còd, an tè eile airson nan eileamaidean a leanas. Bidh seo a 'dèanamh cinnteach à còdachadh a-mhàin.

ASCII

Tha an còdachadh UTF-8 a 'toirt làn taic do chòd ASCII (0x00-0x7F). Tha seo a 'ciallachadh gu bheil caractaran Unicode U + 0000-U + 007F air an tionndadh gu aon byte 0x00-0x7F UTF-8 agus mar sin a bhith neo-sgaraichte bho ASCII. A bharrachd air an sin, gus nach bi dà-thomhas ann, chan eil na luachan 0x00-0x7F a-nis air an cleachdadh ann am bitte sam bith de riochdachadh caractar Unicode. Airson a bhith a 'còdachadh samhlaidhean neo-ideographic ach ASCII, thèid sreath de dhà byte a chleachdadh. Tha samhlaidhean den raon U + 0800-U + FFFF air an riochdachadh le trì bytes, agus feumaidh feadhainn eile le còdan nas àirde na U + FFFF ceithir bytes.

Sgèile an tagraidh

Mar as trice is fheàrr le còdachadh UTF-8 sa phròtacal HTML agus coltach ris.

Chaidh XML a 'chiad inbhe le taic còdachaidh UTF-8 gu lèir. Bidh buidhnean a tha an sàs ann an riaghailtachadh cuideachd, ga mholadh. Taic duilgheadas ann an URL-seòladh a tha eadar-dhealaichte bho na caractaran ASCII-, Chaidh fuasgladh fhaighinn nuair a tha an co-bhanntachd W3C agus IETF innleadaireachd a 'bhuidheann a thàinig gu aonta air a' còdadh a h-uile URL seòlaidhean a-mhàin ann an UTF-8.

Tha co-fhreagarrachd ri ASCII a 'toirt cothrom don ghluasad gu bathar-bog ùr. Le UTF-8, bidh a 'chuid as motha de luchd-deasachaidh teacsa ag obair, nam measg JEdit, Emacs, BBEdit, Eclipse agus Notepad de shiostam-obrachaidh Windows. Chan fhaod dòigh sam bith eile de chòd Unicode taic den leithid a thoirt bho na h-innealan.

Is e a 'bhuannachd a th' ann an encodadh gu bheil e na shreath de bhileagan. Le sreath UTF-8, tha e furasta a bhith ag obair ann an C agus cànanan prògraman eile. Is e seo an aon seòrsa còdachadh nach fheum òrdugh òrdugh BOM bytes no dearbhadh còdachadh ann an XML.

Fèin-shònrachadh

Ann an àrainneachd a 'cleachdadh giollachd caractar 8-bit, an coimeas ri còdachadh ioma-beit eile, tha na buannachdan a leanas aig UTF-8:

  • Tha fiosrachadh mu a fhad anns a 'chiad bhreac de shreath a' chòd. Tha seo a 'meudachadh èifeachdas rannsachadh dìreach.
  • Tha e nas sìmplidhe toiseach a 'charactar a lorg, oir tha a' chiad bhile air a chuingealachadh ri raon shuidhichte de luachan.
  • Chan eil luachan beàrn idir ann.

Coimeas eadar buannachdan

Tha an còdachadh UTF-8 compact. Ach nuair a thèid tagradh a dhèanamh airson còdachadh charactaran Àisianach an Ear (Sìonach, Seapanais, Coirèanais, a 'cleachdadh caractaran Sìneach) tha trì sreathan 3-byte air an cleachdadh. Cuideachd, tha còdachadh UTF-8 nas ìsle na riochdan eile de chòdachadh le bhith a 'giullachd astar. Bidh òrdugh sreang diana a 'dèanamh an aon toradh ri seòrsa dà-chànanach Unicode.

Sgeama còdachadh charactaran

Tha an sgeama còdachadh charactaran a 'gabhail a-steach foirm còdachadh charactaran agus dòigh air rèiteachadh byte-by-pixel de aonaidhean còd. Gus an sgeama chòdachadh a dhearbhadh le inbhe Unicode, thèid cleachdadh a 'chiad chomharra òrdugh byte (BOM, comharra òrdugh Byte) a thoirt seachad.

Nuair a thionndaidh tu air a 'BOM ann an UTF-8, chan eil obair a' bhileig cuingealaichte a-mhàin le bhith a 'comharrachadh cleachdadh an fhoirm encoding. Chan eil an duilgheadas a thaobh a bhith a 'co-dhùnadh òrdugh bytes ann an UTF-8, oir is e aon bhile a th' ann am meud an aonad còdaidh. Chan eil cleachdadh BOM airson an fhoirm encodachaidh seo riatanach no moladh. Faodaidh BOM tachairt ann an teacsaichean air an tionndadh bho chòdan eile a bhios a 'cleachdadh comharra òrdugh byte, no airson ainm-sgrìobhaidh còdachadh UTF-8. 'S e sreath de 3 bytes EF BB 16 16 16 BF.

Mar a chuireas tu còdachadh UTF-8 air dòigh

Tha an HTML còdadh UTF-8 a stàladh leis a 'chòd a leanas:

˂head.

˂meta http-equiv = "Susbaint-seòrsa" susbaint = "teacs / html; charset = utf-8"

Ann am PHP, tha còdachadh UTF-8 air a shònrachadh le bhith a 'cleachdadh ceann-uidhe () aig toiseach tòiseachaidh a' bhileig an dèidh luach an toraidh aig ìre mearachd a shuidheachadh:

˂? Php

Error_reporting (-1);

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

Gus ceangal ri stòran-dàta MySQL, tha còdachadh UTF-8 mar a leanas:

˂? Php

Mysql_set_charset ('utf8');

Ann an faidhlichean CSS, tha còdachadh charactaran UTF-8 air a shònrachadh mar a leanas:

@charset "utf-8";

Nuair a bhios tu a 'sàbhaladh faidhlichean de gach seòrsa, thèid còdachadh UTF-8 gun BOM a thaghadh, air neo cha bhi an làrach ag obair. Gus seo a dhèanamh, anns a 'phrògram DreamWeave, tagh a' chlàr "Modifications - Properties Properties - Title / Encoding", atharraich an còdachadh gu UTF-8. An uairsin, bu chòir dhut an duilleag ath-luchdachadh, cuir a-mach am bogsa "Comharraidhean Ceadaichte Unicode (BOM)" agus cuir a-steach na h-atharrachaidhean. Ma chaidh teacs sam bith air an duilleag no san stòr-dàta a chlàradh le còd eile, feumaidh e ath-chur a-steach no ath-chòdachadh. Nuair a bhios tu ag obair le abairtean cunbhalach, tha e riatanach an neach-atharrachaidh u a chleachdadh.

Faodaidh tu am faidhle a shàbhaladh cuideachd ann an còdachadh UTF-8 ann an Windows Notepad. An dèidh dhut an clàr-taice a thaghadh "File - Save As ..." cuir am foirm còdachaidh riatanach air dòigh agus sàbhail am faidhle ann an còdachadh UTF-8.

Ann an Notepad ++ deasaiche teacsa, ma tha an còdachadh eadar-dhealaichte bho UTF-8, atharraich an còdachadh agus sàbhail e ann an còdachadh UTF-8 tron chlàr-taice "Tionndaidh gu UTF-8 gun BOM".

Chan eil roghainn ann

Ann an co-theacsa cruinneas cruinneachaidh, nuair a tha crìochan poileataigeach agus cànain mì-chinnteach, tha seataichean charactaran aig nach eil feartan ionadail cho feumail. Is e Unicode an aon sheòrsa caractar a tha a 'toirt taic do gach làrach-lìn. Agus tha UTF-8 na eisimpleir de bhuileachadh ceart Unicode, a tha:

  • A 'toirt taic do raon farsaing de dh'innealan, a' gabhail a-steach co-chòrdachd le còdachadh ASCII;
  • A 'cur bacadh air truailleadh dàta;
  • Easy agus èifeachdach ann an giullachd;
  • Chan eil e an urra ris an àrd-ùrlar.

Le teachd UTF-8, tha còmhraidhean mu dè an seòrsa encoding no seata charactaran nas fheàrr a th 'air a bhith gun rud.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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