Unikoda kodēšana 2. Unikoda izveides un izstrādes priekšnoteikumi

Sveiki, dārgie emuāra vietnes lasītāji. Šodien mēs ar jums runāsim par to, no kurienes vietnē un programmās nāk krakozyabrs, kādi teksta kodējumi pastāv un kuri no tiem būtu jāizmanto. Sīkāk apskatīsim to attīstības vēsturi, sākot no pamata ASCII, kā arī tā paplašinātajām versijām CP866, KOI8-R, Windows 1251 un beidzot ar mūsdienu Unicode Consortium UTF 16 un 8 kodējumiem.

Dažiem šī informācija var šķist lieka, taču jūs zināt, cik daudz jautājumu man rodas tieši saistībā ar izmeklētu krakozyabrs (nelasāmu rakstzīmju kopu). Tagad man būs iespēja atsaukties visiem uz šī raksta tekstu un patstāvīgi meklēt savus jambus. Nu, gatavojieties uzņemt informāciju un mēģiniet sekot stāsta gaitai.

ASCII - pamata teksta kodējums latīņu valodai

Teksta kodējumu attīstība notika vienlaikus ar IT nozares veidošanos, un šajā laikā tajās izdevās piedzīvot diezgan daudz izmaiņu. Vēsturiski viss sākās ar EBCDIC, kas bija diezgan disonējoša krievu izrunā, kas ļāva kodēt latīņu alfabēta burtus, arābu ciparus un pieturzīmes ar vadības rakstzīmēm.

Bet tomēr mūsdienu teksta kodējumu izstrādes sākumpunkts jāuzskata par slaveno ASCII(Amerikas standarta informācijas apmaiņas kods, ko krievu valodā parasti izrunā kā "aski"). Tajā aprakstītas pirmās 128 rakstzīmes no angļu valodā runājošo lietotāju visbiežāk lietotajām rakstzīmēm — latīņu burtiem, arābu cipariem un pieturzīmēm.

Pat šajās 128 rakstzīmēs, kas aprakstītas ASCII, bija dažas pakalpojumu rakstzīmes, piemēram, iekavas, joslas, zvaigznītes utt. Patiesībā jūs varat tos redzēt pats:

Tieši šīs 128 rakstzīmes no sākotnējās ASCII versijas ir kļuvušas par standartu, un jebkurā citā kodējumā jūs tos noteikti satiksit, un tie būs tādā secībā.

Bet fakts ir tāds, ka ar viena informācijas baita palīdzību ir iespējams iekodēt nevis 128, bet pat 256 dažādas vērtības (divi ar pakāpēm astoņi ir vienādi ar 256), tāpēc pamata versija Asuka parādījās numurs paplašināti ASCII kodējumi, kurā bez 128 pamata rakstzīmēm bija iespējams iekodēt arī nacionālā kodējuma (piemēram, krievu) simbolus.

Šeit, iespējams, ir vērts pastāstīt nedaudz vairāk par skaitļu sistēmām, kas tiek izmantotas aprakstā. Pirmkārt, kā jūs visi zināt, dators darbojas tikai ar skaitļiem binārajā sistēmā, proti, ar nullēm un vieniniekiem (“Būla algebra”, ja kāds ir mācījies institūtā vai skolā). , katrs no tiem ir divi pakāpē, sākot no nulles, un līdz diviem septītajā:

Nav grūti saprast, ka no visām iespējamām nulles un vieninieku kombinācijām šādā konstrukcijā var būt tikai 256. Pārtulkot skaitli no binārā sistēma līdz decimāldaļai ir diezgan viegli. Jums vienkārši jāsaskaita visas divu pilnvaras, pār kurām ir viena.

Mūsu piemērā tas ir 1 (2 līdz nulles pakāpei) plus 8 (divi līdz 3 pakāpei), plus 32 (divi līdz piektajam), plus 64 (līdz sestajam), plus 128 (līdz septītajam) . Kopā iegūst 233 collas decimālā sistēma rēķināšana. Kā redzat, viss ir ļoti vienkārši.

Bet, ja aplūkojat tabulu ar ASCII rakstzīmēm tuvāk, jūs redzēsit, ka tās ir attēlotas heksadecimālajā kodējumā. Piemēram, "zvaigznīte" Asci valodā atbilst heksadecimālajam skaitlim 2A. Jūs droši vien to zināt heksadecimālā sistēma tiek izmantoti cipari, papildus arābu cipariem, arī latīņu burti no A (kas nozīmē desmit) līdz F (nozīmē piecpadsmit).

Nu priekš konvertēt bināro uz heksadecimālo izmantojiet šo vienkāršo un vizuālo metodi. Katrs informācijas baits ir sadalīts divās daļās pa četriem bitiem, kā parādīts iepriekš redzamajā ekrānuzņēmumā. Tas. katrā pusbaitā tikai sešpadsmit vērtības var kodēt binārajā kodā (no divām līdz ceturtajai pakāpei), ko var viegli attēlot kā heksadecimālu skaitli.

Turklāt baita kreisajā pusē būs vēlreiz jāskaita grādi, sākot no nulles, nevis kā parādīts ekrānuzņēmumā. Rezultātā, veicot vienkāršus aprēķinus, mēs iegūstam, ka ekrānuzņēmumā ir kodēts skaitlis E9. Es ceru, ka mana prātojuma gaita un šīs mīklas risinājums jums izrādījās skaidrs. Nu, tagad faktiski turpināsim runāt par teksta kodējumu.

Asuka paplašinātās versijas - CP866 un KOI8-R kodējumi ar pseidogrāfiju

Tātad, mēs sākām runāt par ASCII, kas it kā bija sākumpunkts visu mūsdienu kodējumu izstrādei (Windows 1251, Unicode, UTF 8).

Sākotnēji tajā bija tikai 128 latīņu alfabēta rakstzīmes, arābu cipari un kaut kas cits, taču paplašinātajā versijā kļuva iespējams izmantot visas 256 vērtības, kuras var iekodēt vienā informācijas baitā. Tie. kļuva iespējams Asci pievienot savas valodas burtu rakstzīmes.

Šeit būs vēlreiz jāatkāpjas, lai paskaidrotu - Kāpēc jums vispār ir vajadzīga kodēšana? tekstus un kāpēc tas ir tik svarīgi. Datora ekrāna rakstzīmes tiek veidotas, pamatojoties uz divām lietām - visu veidu rakstzīmju vektoru formu (attēlu) kopām (tās atrodas kopfailos) un kodu, kas ļauj izvilkt no šīs vektoru formu kopas ( fonta fails) tieši tā rakstzīme, kas jāievieto pareizajā vietā.

Skaidrs, ka par vektoru formām atbild fonti paši, bet par kodēšanu atbild operētājsistēma un tajā izmantotās programmas. Tie. jebkurš teksts jūsu datorā būs baitu kopa, no kuriem katrs kodē vienu šī teksta rakstzīmi.

Programma, kas parāda šo tekstu ekrānā (teksta redaktors, pārlūkprogramma utt.), parsējot kodu, nolasa nākamās rakstzīmes kodējumu un meklē atbilstošo vektora formu vēlamo failu fonts, kas ir pievienots šī teksta dokumenta parādīšanai. Viss ir vienkārši un banāli.

Tas nozīmē, ka, lai iekodētu jebkuru mums nepieciešamo rakstzīmi (piemēram, no nacionālā alfabēta), ir jāievēro divi nosacījumi - šīs rakstzīmes vektora formai jābūt izmantotajā fontā, un šī rakstzīme var tikt kodēta paplašinātos ASCII kodējumos. vienā baitā. Tāpēc šādu iespēju ir vesela virkne. Tikai krievu valodas rakstzīmju kodēšanai ir vairākas paplašinātās Aska šķirnes.

Piemēram, sākotnēji bija CP866, kurā bija iespējams izmantot krievu alfabēta rakstzīmes un tā bija ASCII paplašinātā versija.

Tie. tās augšdaļa pilnībā sakrita ar Asuka pamatversiju (128 latīņu rakstzīmes, cipari un citas muļķības), kas ir redzama ekrānuzņēmumā tieši augšā, bet tabulas apakšējā daļa ar CP866 kodējumu bija tāda, kāda parādīta ekrānuzņēmumā tieši zemāk. un atļāva iekodēt vēl 128 zīmes (krievu burti un visādas pseidogrāfijas tur):

Redzi, labajā kolonnā skaitļi sākas ar 8, jo cipari no 0 līdz 7 attiecas uz ASCII bāzes daļu (skatiet pirmo ekrānuzņēmumu). Tas. krievu burtam "M" CP866 būs kods 9C (tas atrodas heksadecimālajā skaitļu sistēmā atbilstošās rindas ar 9 un kolonnas ar ciparu C krustpunktā), ko var ierakstīt vienā informācijas baitā, un, ja ir piemērots fonts ar krievu rakstzīmēm, šis burts bez problēmām tiks parādīts tekstā.

No kurienes tāda summa? pseidogrāfija CP866? Lieta tāda, ka šis krievu teksta kodējums tika izstrādāts tajos pūkainajos gados, kad vēl nebija tādas grafisko operētājsistēmu izplatīšanas kā tagad. Un Dosa un līdzīgās teksta operētājsistēmās pseidografika ļāva kaut kā dažādot tekstu noformējumu, un tāpēc tajā ir daudz CP866 un visu citu tā līdzinieku no Asuka paplašināto versiju kategorijas.

CP866 izplatīja IBM, taču papildus tam tika izstrādāti vairāki kodējumi krievu rakstzīmēm, piemēram, var attiecināt to pašu veidu (paplašinātu ASCII). KOI8-R:

Tās darbības princips paliek tāds pats kā nedaudz iepriekš aprakstītajam CP866 - katra teksta rakstzīme ir kodēta ar vienu baitu. Ekrānuzņēmumā redzama KOI8-R tabulas otrā puse, jo pirmā puse pilnībā atbilst pamata Asuka, kas ir parādīta šī raksta pirmajā ekrānuzņēmumā.

Starp KOI8-R kodējuma iezīmēm var atzīmēt, ka krievu burti tā tabulā nav sakārtoti alfabēta secībā, kā, piemēram, tas tika darīts CP866.

Ja paskatās uz pašu pirmo ekrānuzņēmumu (no bāzes daļas, kas ir iekļauta visos paplašinātajos kodējumos), jūs pamanīsit, ka KOI8-R krievu burti atrodas tajās pašās tabulas šūnās kā latīņu alfabēta līdzskaņa burti. ar tiem no tabulas pirmās daļas. Tas tika darīts, lai atvieglotu pārslēgšanos no krievu uz latīņu rakstzīmēm, atmetot tikai vienu bitu (divus uz septīto pakāpi jeb 128).

Windows 1251 - modernā ASCII versija un kāpēc krakozyabry pārmeklē

Teksta kodējumu tālāka attīstība bija saistīta ar to, ka grafiskās operētājsistēmas kļuva arvien populārākas un nepieciešamība tajās izmantot pseidogrāfiju ar laiku pazuda. Rezultātā radās vesela grupa, kas pēc būtības joprojām bija Asuka paplašinātās versijas (viena teksta rakstzīme ir iekodēta tikai ar vienu informācijas baitu), bet bez pseidogrāfisko rakstzīmju izmantošanas.

Tie piederēja tā sauktajiem ANSI kodējumiem, kurus izstrādāja Amerikas standartu institūts. Parastā valodā nosaukums kirilicas tika lietots arī variantam ar atbalstu krievu valodai. Piemērs tam var kalpot.

Tas ir labvēlīgs salīdzinājumā ar iepriekš izmantotajiem CP866 un KOI8-R, jo tajā pseidogrāfisko simbolu vietu ieņēma trūkstošie krievu tipogrāfijas simboli (izņemot akcenta zīmi), kā arī simboli, kas izmantoti slāvu valodās, kas ir tuvu Krievu (ukraiņu, baltkrievu utt.).)

Sakarā ar šādu krievu valodas kodējumu pārpilnību fontu ražotāji un ražotāji programmatūra pastāvīgi radās galvassāpes, un mēs, dārgie lasītāji, bieži izgājām no tiem pašiem bēdīgi slavenajiem krakozyabry kad radās neskaidrības ar tekstā izmantoto versiju.

Ļoti bieži viņi izkāpa, sūtot un saņemot ziņas, izmantojot e-pasts, kā rezultātā tika izveidotas ļoti sarežģītas konvertēšanas tabulas, kuras faktiski nevarēja atrisināt šo problēmu, un bieži lietotāji izmantoja saraksti, lai izvairītos no bēdīgi slavenajiem krakozyabrs, izmantojot krievu kodējumus, piemēram, CP866, KOI8-R vai Windows 1251.

Faktiski krakozyabry, kāpšana ārā krievu teksta vietā, bija rezultāts nepareiza lietošana kodējumi dotā valoda, kas nesakrita ar to, kurā tas bija kodēts īsziņa sākotnēji.

Pieņemsim, ja rakstzīmes, kas kodētas ar CP866, mēģina parādīt, izmantojot kodu tabula Windows 1251, tad iznāks tie paši krakozyabry (bezjēdzīgi rakstzīmju komplekti), pilnībā aizstājot ziņojuma tekstu.

Līdzīga situācija ļoti bieži notiek ar forumiem vai emuāriem, kad teksts ar krievu rakstzīmēm tiek kļūdaini saglabāts nepareizā kodējumā, kas tiek izmantots vietnē pēc noklusējuma, vai nepareizā teksta redaktors, kas kodum pievieno gag, kas nav redzams ar neapbruņotu aci.

Galu galā daudziem cilvēkiem apnika šāda situācija ar daudzajiem kodējumiem un nepārtrauktu izkāpšanu krakozyabry, bija priekšnoteikumi jaunas universālas variācijas izveidei, kas aizstātu visas esošās un beidzot atrisinātu problēmu ar nelasāmu tekstu parādīšanos. . Turklāt radās problēma ar tādām valodām kā ķīniešu valoda, kur valodas rakstzīmes bija daudz vairāk nekā 256.

Unicode (Unicode) - universālie kodējumi UTF 8, 16 un 32

Šos tūkstošiem Dienvidaustrumāzijas valodu grupas rakstzīmju nekādi nevarēja aprakstīt vienā informācijas baitā, kas tika atvēlēts rakstzīmju kodēšanai ASCII paplašinātajās versijās. Rezultātā konsorcijs ar nosaukumu Unicode(Unicode - Unicode Consortium), sadarbojoties daudziem IT nozares līderiem (tiem, kas ražo programmatūru, kas kodē aparatūru, kas veido fontus), kuri bija ieinteresēti universāla teksta kodējuma rašanās.

Pirmā variācija, kas tika izlaista Unicode konsorcija aizgādībā, bija UTF-32. Skaitlis kodējuma nosaukumā nozīmē bitu skaitu, kas tiek izmantots vienas rakstzīmes kodēšanai. 32 biti ir 4 baiti informācijas, kas būs nepieciešama vienas rakstzīmes kodēšanai jaunajā universālajā UTF kodējumā.

Rezultātā tam pašam failam ar tekstu, kas kodēts paplašinātajā ASCII versijā un UTF-32, pēdējā gadījumā būs četras reizes lielāks izmērs (svars). Tas ir slikti, bet tagad mums ir iespēja kodēt, izmantojot UTF, rakstzīmju skaitu, kas vienāds ar diviem līdz trīsdesmit sekunžu jaudai ( miljardiem rakstzīmju, kas segs jebkuru patiešām nepieciešamo vērtību ar milzīgu rezervi).

Bet daudzām valstīm ar Eiropas grupas valodām kodējumā nemaz nebija nepieciešams izmantot tik milzīgu rakstzīmju skaitu, taču, izmantojot UTF-32, tās velti saņēma četrkārtīgu svara pieaugumu. teksta dokumenti, kā rezultātā palielinās interneta trafika apjoms un glabājamo datu apjoms. Tas ir daudz, un neviens nevarēja atļauties šādus atkritumus.

Unikoda izstrādes rezultātā UTF-16, kas izrādījās tik veiksmīgs, ka tika pieņemts kā noklusējuma bāzes vieta visām mūsu izmantotajām rakstzīmēm. Tas izmanto divus baitus, lai kodētu vienu rakstzīmi. Apskatīsim, kā šī lieta izskatās.

AT operētājsistēma Windows, jūs varat doties pa ceļu "Sākt" - "Programmas" - "Piederumi" - "Utilītas" - "Rakstzīmju tabula". Rezultātā tiks atvērta tabula ar visu jūsu sistēmā instalēto fontu vektoru formām. Ja izvēlaties sadaļā " Papildu iespējas» Unikoda rakstzīmju kopa, katram fontam atsevišķi varat redzēt visu tajā iekļauto rakstzīmju diapazonu.

Starp citu, noklikšķinot uz jebkura no tiem, jūs varat redzēt tā dubultbaitu kods UTF-16 formātā, kas sastāv no četriem heksadecimālajiem cipariem:

Cik rakstzīmju var kodēt UTF-16, izmantojot 16 bitus? 65536 (divi ar jaudu sešpadsmit), un tieši šis skaitlis tika pieņemts kā Unicode bāzes vieta. Turklāt ir veidi, kā ar to kodēt apmēram divus miljonus rakstzīmju, taču tas ir ierobežots līdz miljona rakstzīmju tekstam.

Bet pat šī veiksmīgā Unicode kodējuma versija nesagādāja lielu gandarījumu tiem, kuri rakstīja, teiksim, programmas tikai angļu valoda, jo pēc pārejas no paplašinātās ASCII versijas uz UTF-16 dokumentu svars dubultojās (viens baits uz katru rakstzīmi Asci un divi baiti uz rakstzīmi UTF-16).

Lūk, lai visi un viss Unicode konsorcijā būtu apmierināts, tika nolemts nākt klajā ar mainīga garuma kodējums. To sauc par UTF-8. Neskatoties uz astoņiem nosaukumā, tam patiešām ir mainīgs garums, t.i. katru teksta rakstzīmi var iekodēt viena līdz sešu baitu secībā.

Praksē UTF-8 tiek izmantots tikai diapazons no viena līdz četriem baitiem, jo ​​aiz četriem baitiem koda nekas pat teorētiski nav iedomājams. Visas latīņu rakstzīmes tajā ir iekodētas vienā baitā, tāpat kā vecajā labajā ASCII.

Jāatzīmē, ka, ja tiek kodēta tikai latīņu valoda, pat tās programmas, kuras nesaprot Unicode, joprojām nolasīs to, kas ir kodēts UTF-8. Tie. Asukas bāzes daļa vienkārši pārgāja šajā Unicode konsorcija idejā.

Kirilicas rakstzīmes UTF-8 ir kodētas divos baitos un, piemēram, gruzīnu rakstzīmes trīs baitos. Unikoda konsorcijs pēc UTF 16 un 8 izveidošanas atrisināja galveno problēmu - tagad mums ir fontiem ir viena koda vieta. Un tagad to ražotāji to var aizpildīt tikai ar teksta rakstzīmju vektoru formām, pamatojoties uz viņu stiprajām pusēm un iespējām. Tagad pat komplektos.

Iepriekš redzamajā “Rakstzīmju tabulā” varat redzēt, ka dažādi fonti atbalsta atšķirīgu rakstzīmju skaitu. Daži ar Unicode bagātināti fonti var būt ļoti lieli. Taču tagad tie atšķiras nevis ar to, ka radīti dažādiem kodējumiem, bet gan ar to, ka fontu ražotājs vienoto koda vietu aizpildīja vai neaizpildīja ar vienu vai otru vektoru formu līdz galam.

Krakozyabry krievu burtu vietā - kā salabot

Tagad redzēsim, kā teksta vietā parādās krakozyabras jeb, citiem vārdiem sakot, kā tiek izvēlēts pareizais kodējums krievu tekstam. Faktiski tas ir iestatīts programmā, kurā veidojat vai rediģējat šo pašu tekstu vai kodu, izmantojot teksta fragmentus.

Rediģēšanai un izveidei teksta faili Es personīgi izmantoju ļoti labu, manuprāt, . Tomēr tas var izcelt vēl simts programmēšanas un iezīmēšanas valodu sintaksi, kā arī to var paplašināt, izmantojot spraudņus. Lasīt detalizēts pārskatsšī brīnišķīgā programma norādītajā saitē.

Notepad ++ augšējā izvēlnē ir vienums "Kodējumi", kurā jums būs iespēja pārveidot esošo opciju uz to, kas pēc noklusējuma tiek izmantota jūsu vietnē:

Vietnei ar Joomla 1.5 un jaunākām versijām, kā arī emuāra gadījumā WordPress, lai izvairītos no kļūdu parādīšanās, izvēlieties opciju UTF8 bez BOM. Kas ir prefikss BOM?

Fakts ir tāds, ka tad, kad tika izstrādāts UTF-16 kodējums, viņi kaut kādu iemeslu dēļ nolēma tam pievienot tādu lietu kā iespēja rakstīt rakstzīmju kodu gan tiešā secībā (piemēram, 0A15), gan apgrieztā secībā (150A). . Un, lai programmas saprastu, kādā secībā nolasīt kodus, tas tika izgudrots BOM(Baitu pasūtījuma atzīme jeb, citiem vārdiem sakot, paraksts), kas izpaudās, pievienojot trīs papildu baitus pašā dokumentu sākumā.

UTF-8 kodējumā Unicode konsorcijā nebija paredzēts BOM, un tāpēc paraksta pievienošana (šie visizplatītākie papildu trīs baiti dokumenta sākumam) vienkārši neļauj dažām programmām nolasīt kodu. Tāpēc, saglabājot failus UTF, mums vienmēr ir jāizvēlas opcija bez BOM (bez paraksta). Tātad jūs virzāties uz priekšu pasargāt sevi no rāpošanas krakozyabry.

Jāatzīmē, ka dažas Windows programmas nezina, kā to izdarīt (tās nevar saglabāt tekstu UTF-8 bez BOM), piemēram, tas pats bēdīgi slavenais Windows Notepad. Tas saglabā dokumentu UTF-8, taču tā sākumam joprojām pievieno parakstu (trīs papildu baiti). Turklāt šie baiti vienmēr būs vienādi - lasiet kodu tiešā secībā. Bet serveros šī sīkuma dēļ var rasties problēma - iznāks krakozyabry.

Tāpēc nekādā gadījumā neizmantojiet parasto Windows piezīmju grāmatiņu savas vietnes dokumentu rediģēšanai, ja nevēlaties krakozjabrova parādīšanos. Par labāko un vienkāršāko variantu uzskatu jau pieminēto Notepad ++ redaktoru, kuram praktiski nav nekādu trūkumu un sastāv tikai no priekšrocībām.

Programmā Notepad++, atlasot kodējumu, jums būs iespēja konvertēt tekstu uz UCS-2 kodējumu, kas pēc būtības ir ļoti tuvs Unicode standartam. Arī Notepad būs iespējams tekstu kodēt ANSI, t.i. attiecībā uz krievu valodu šī būs Windows 1251, kuru jau aprakstījām nedaudz augstāk. No kurienes šī informācija?

Tas ir reģistrēts jūsu operāciju zāles reģistrā Windows sistēmas- kuru kodējumu izvēlēties ANSI gadījumā, kādu OEM gadījumā (krievu valodai tas būs CP866). Ja datorā instalējat citu noklusējuma valodu, šie kodējumi tiks aizstāti ar līdzīgiem ANSI vai OEM kategorijas kodiem tai pašai valodai.

Kad esat saglabājis dokumentu programmā Notepad ++ vajadzīgajā kodējumā vai atverot dokumentu no vietnes rediģēšanai, tā nosaukumu varat redzēt redaktora apakšējā labajā stūrī:

Lai izvairītos no krakozyabrov, papildus iepriekš aprakstītajām darbībām būs lietderīgi visu vietnes lapu avota koda galvenē ierakstīt informāciju par šo kodējumu, lai serverī vai vietējā resursdatorā nerastos neskaidrības.

Kopumā visās hiperteksta iezīmēšanas valodās, izņemot HTML, tiek izmantota īpaša xml deklarācija, kas norāda teksta kodējumu.

Pirms koda parsēšanas pārlūkprogramma zina, kura versija tiek izmantota un kā tieši jāinterpretē šīs valodas rakstzīmju kodi. Bet kas ir ievērojams, ja saglabājat dokumentu noklusējuma unicode, tad šo xml deklarāciju var izlaist (kodējums tiks uzskatīts par UTF-8, ja nav BOM vai UTF-16, ja ir BOM).

Dokumenta gadījumā Html valoda izmanto, lai norādītu kodējumu Meta elements, kas ir rakstīts starp sākuma un aizverošo Head tagu:

... ...

Šis ieraksts ir diezgan atšķirīgs no tā, kas pieņemts , taču tas pilnībā atbilst jaunajam Html 5 standartam, kas tiek lēnām ieviests, un to pilnīgi pareizi sapratīs ikviens, kas to izmantos. Šis brīdis pārlūkprogrammas.

Teorētiski Meta elements ar kodējumu html dokuments derētu likt pēc iespējas augstāk dokumenta galvenē lai tikšanās brīdī pirmās rakstzīmes tekstā nevis no bāzes ANSI (kas vienmēr tiks nolasīts pareizi un jebkurā variantā), pārlūkprogrammai jau vajadzētu būt informācijai, kā interpretēt šo rakstzīmju kodus.

Veiksmi tev! Uz drīzu tikšanos emuāra lapu vietnē

Jūs varētu interesēt

Kas URL adrese Kāda ir atšķirība starp vietnes absolūtajām un relatīvajām saitēm
OpenServer - moderns vietējais serveris un tās izmantošanas piemērs WordPress instalācijas datorā
Kas ir Chmod, kādas atļaujas piešķirt failiem un mapēm (777, 755, 666) un kā to izdarīt, izmantojot PHP
Yandex meklēšana vietnē un tiešsaistes veikalā

Mēģinot konfigurēt šo vai citu interneta funkciju, jebkuram lietotājam ir jāsaskaras ar tādu jēdzienu kā "Unicode". Lai uzzinātu, ko nozīmē šis jēdziens, izlasiet Šis raksts līdz beigām.

"Unicode": definīcija

Termins "Unicode" mūsdienās attiecas uz rakstzīmju kodēšanas standartu. Šis standarts 1991. gadā ierosināja bezpeļņas organizācija Unicode Inc. Unikoda standarts tika izstrādāts, lai vienā dokumentā apvienotu lielu skaitu dažādu rakstzīmju. Lapa, kas izveidota, pamatojoties uz šādu kodējumu, var saturēt hieroglifus, burtus un matemātiskos simbolus. Šajā kodējumā visas rakstzīmes tiek parādītas bez problēmām.

"Unicode": izveides iemesli

Ilgi pirms Unicode sistēmas parādīšanās kodējumi tika izvēlēti, pamatojoties uz dokumenta autora vēlmēm. Bieži vien šī iemesla dēļ, lai lasītu vienu dokumentu, bija jāizmanto dažādas tabulas. Tomēr tas bija jādara vairākas reizes. Tas ievērojami sarežģī parasto lietotāju dzīvi. Kā minēts iepriekš, 1991. gadā, lai atrisinātu šo problēmu, bezpeļņas organizācija Unicode Inc. ierosināja izmantot jauna veida informācijas kodēšanu. Šis tips kodēšana tika izveidota, lai apvienotu dažādus standartus. Unikoda kodējums ļāva sasniegt neiespējamo: izveidot rīku, kas atbalsta ļoti dažādas rakstzīmes. Rezultāts pārspēja cerēto: tika iegūti dokumenti, kuros vienlaikus varēja būt gan krievu un angļu valodas teksts, gan matemātiskie izteicieni un latīņu valoda. Pirms radīšanas vienota sistēma kodēšanas izstrādātājiem bija jāatrisina vairākas problēmas, kas radās no milzīga skaita standartu, kas jau pastāvēja Šis brīdis. Visizplatītākās no šīm problēmām bija rakstzīmju kopas ierobežojumi, elfish skripti, fontu dublēšana un dažādu kodējumu konvertēšanas problēma.

"Unicode": atkāpe vēsturē

Iedomājieties šādu ainu: 80. gadu pagalmā datortehnoloģijas vēl nav tik plaši izplatītas un izskatās savādāk nekā šodien. Katra operētājsistēma ir unikāla savā veidā, un to modificējuši entuziasti noteiktām īpašām vajadzībām. Līdz ar to informācijas apmaiņas nepieciešamība ir radījusi papildu uzlabojumus. Mēģinot lasīt citā operētājsistēmā izveidotu dokumentu, ekrānā parasti tika parādītas dīvainas rakstzīmju kopas. Tas prasīja turpmāku darbu ar kodēšanu, ko ne vienmēr bija iespējams ātri pabeigt. Dažkārt vajadzīgā dokumenta noformēšana prasīja vairākus mēnešus. Lietotāji, kuriem bieži ir jāapmainās ar informāciju, sāka veidot īpašas konvertēšanas tabulas. Strādājot ar šādām tabulām, atklājās viena interesanta iezīme: šādas tabulas ir jāveido vienlaicīgi divos virzienos. Iekārta nevar veikt banālu aprēķinu inversiju. Tam avota fails tiek rakstīts labajā kolonnā, bet rezultāts ir rakstīts kreisajā pusē. Gluži pretēji, tos nevar pārkārtot. Ja dokumentā ir jāizmanto dažas speciālās rakstzīmes, vispirms tās jāpievieno un pēc tam citam lietotājam jāpaskaidro, kas ar tām jādara, lai tās nepārvērstos par “plaisām”. Ir arī vērts padomāt, ka katram kodējumam bija jāizstrādā savi fonti. Tas noveda pie milzīga skaita dublikātu izveidošanas operētājsistēmā. Tā, piemēram, vienā lapā lietotājs varēja redzēt duci fontu, kas bija identiski standarta Times New Roman, bet atzīmēti ar UCS-2, UTF-16, UTF-8, ANSI. Tādējādi ir jāizstrādā universāls standarts.

"Unicode": veidotāji

"Unikoda" tapšanas vēstures sākums ir attiecināms uz 1987. gadu. Toreiz Džo Bekers no Xerox kopā ar Marku Deivisu un Lī Kolinsu no Apple sāka pētīt universāla kodējuma praktisko izstrādi. 1988. gadā Džo Bekers publicēja projektu starptautiskai daudzvalodu kodēšanai. Dažus mēnešus vēlāk darba Unicode izstrādes grupa tika paplašināta. Tajā bija tādi eksperti kā Glens Raits no Sun Microsystems, Maiks Kernegans un Kens Vistlers no RLG. Tas ļāva pabeigt darbu pie viena kodēšanas standarta sākotnējās izveides.

"Unicode": vispārīgs apraksts

Unikoda pamatā ir vispārējs jēdziens simbols. Šī definīcija tiek saprasta kā abstrakta parādība, kas pastāv rakstīšanas formā, realizēta caur grafēmām. Unicode katrai rakstzīmei tiek piešķirts unikāls kods, kas pieder vienam vai otram standarta blokam. Tā, piemēram, grafēma "B" ir gan angļu, gan krievu valodā, taču tā atbilst divām dažādām rakstzīmēm. Šīs rakstzīmes var arī pārveidot par mazajiem burtiem. Tas nozīmē, ka katrs no šiem simboliem ir aprakstīts ar atslēgu, rekvizītu kopu un nosaukumu.

"Unicode": priekšrocības

Unicode atšķiras no citām mūsdienu kodēšanas sistēmām ar milzīgu rakstzīmju piedāvājumu dažādu rakstzīmju "šifrēšanai". Lieta tāda, ka iepriekšējiem kodējumiem bija tikai 8 biti. Tas nozīmē, ka tie atbalsta tikai 28 rakstzīmes. Jaunajā attīstībā bija 216 rakstzīmes, kas bija liels solis uz priekšu. Tādējādi kļuva iespējams kodēt gandrīz visus esošos alfabētus. Līdz ar "Unicode" parādīšanos ir pazudusi nepieciešamība izmantot konvertēšanas tabulas. Vienota standarta esamība vienkārši samazināja to lietderību līdz nullei. Tajā pašā laikā pazuda arī "kryakozyabry". Jauna standarta rašanās padarīja to pastāvēšanu neiespējamu. Tika novērsta arī nepieciešamība veidot dublētus fontus.

"Unicode": izstrāde

Neskatoties uz to, ka progress nestāv uz vietas, Unicode kodējums turpina ieņemt vadošo pozīciju pasaulē. Tas kļuva iespējams lielā mērā tāpēc, ka tas kļuva viegli īstenojams un plaši izmantots. Tomēr nevajadzētu pieņemt, ka mūsdienās tiek izmantots tāds pats Unikoda kodējums, kāds tas bija pirms 25 gadiem. Mūsdienās tiek izmantota versija 5.x.x. Kodēto rakstzīmju skaits ir pieaudzis līdz 231. No tā pirmsākumiem līdz 2.0.0 versijas parādīšanās Unicode kodējums ir gandrīz dubultojis tajā iekļauto rakstzīmju skaitu. Turpmākajos gados šis iespēju pieaugums turpinājās. Līdz brīdim, kad parādījās versija 4.0.0, kļuva nepieciešams palielināt pašu standartu. Rezultātā Unicode kodējums ieguva tādu formu, kādā mēs to pazīstam šodien.

Kas vēl ir noderīgs Unicode? Papildus milzīgajam, pastāvīgi pieaugošajam rakstzīmju skaitam Unikoda kodējumam ir viena diezgan noderīga funkcija. Tā ir normalizācija. Kodēšana netērē datora resursus, regulāri pārbaudot vienu un to pašu rakstzīmi, kam var būt līdzīga pareizrakstība dažādos alfabētās. Šim nolūkam tiek izmantots īpašs algoritms, kas dod iespēju līdzīgas rakstzīmes attēlot atsevišķi kolonnā un tām piekļūt, nevis katru reizi pārbaudīt visu informāciju. Kopumā ir izstrādāti un ieviesti četri šādi algoritmi. Transformācija katrā no tām tiek veikta saskaņā ar noteiktu principu, kas atšķiras no citiem.

Katrs interneta lietotājs, mēģinot konfigurēt vienu vai otru tā funkciju, vismaz vienu reizi displejā redzēja uzrakstu "Unicode". Kas tas ir, jūs uzzināsit, izlasot šo rakstu.

Definīcija

Unicode ir rakstzīmju kodēšanas standarts. To ierosināja bezpeļņas organizācija Unicode Inc. 1991. gadā. Standarts tika izstrādāts ar mērķi vienā dokumentā apvienot pēc iespējas vairāk dažādu rakstzīmju veidu. Uz tā balstīta lapa var saturēt burtus un hieroglifus no dažādām valodām (no krievu līdz korejiešu) un matemātiskos simbolus. Šajā gadījumā visas šī kodējuma rakstzīmes tiek parādītas bez problēmām.

Radīšanas iemesli

Kādreiz, ilgi pirms vienotās Unicode sistēmas parādīšanās, kodējums tika izvēlēts, pamatojoties uz dokumenta autora vēlmēm. Šī iemesla dēļ nebija neparasti lasīt vienu dokumentu, izmantojot dažādas tabulas. Dažreiz tas bija jādara vairākas reizes, kas ievērojami sarežģīja parastā lietotāja dzīvi. Kā jau minēts, šīs problēmas risinājumu 1991. gadā piedāvāja bezpeļņas organizācija Unicode Inc., kas piedāvāja jaunu rakstzīmju kodēšanas veidu. Tas bija paredzēts, lai apvienotu novecojušus un daudzveidīgus standartus. "Unicode" ir kodējums, kas ļāva sasniegt tajā laikā neiedomājamo: izveidot rīku, kas atbalsta milzīgu skaitu rakstzīmju. Rezultāts pārspēja daudzas cerības – parādījās dokumenti, kuros vienlaikus bija gan teksts angļu un krievu valodā, gan latīņu un matemātiski izteicieni.

Taču pirms viena kodējuma izveides bija jāatrisina vairākas problēmas, kas radās tajā laikā jau pastāvošo milzīgo standartu daudzveidības dēļ. Visizplatītākie no tiem:

  • elfu burti vai "krakozyabry";
  • ierobežots rakstzīmju kopums;
  • kodēšanas pārveidošanas problēma;
  • dublēti fonti.

Neliela vēsturiska ekskursija

Iedomājieties, ka tas ir 80. gados. Datortehnoloģijas vēl nav tik izplatīta, un tā izskats atšķiras no šodienas. Tajā laikā katra OS ir unikāla savā veidā un katra entuziasta modificēta konkrētām vajadzībām. Nepieciešamība dalīties ar informāciju pārvēršas par papildu uzlabojumu visam pasaulē. Mēģinot lasīt dokumentu, kas izveidots citā operētājsistēmā, ekrānā bieži tiek parādīts nesaprotams rakstzīmju kopums, un sākas spēles ar kodējumu. Ne vienmēr to var izdarīt ātri, un dažreiz nepieciešamo dokumentu var atvērt sešu mēnešu laikā vai pat vēlāk. Cilvēki, kuri bieži apmainās ar informāciju, paši izveido reklāmguvumu tabulas. Un darbs pie tiem atklāj interesanta detaļa: tie ir jāizveido divos virzienos: “no mana uz tavu” un otrādi. Iekārta nevar veikt banālu aprēķinu inversiju, jo tai avots atrodas labajā kolonnā, un rezultāts ir kreisajā, bet ne otrādi. Ja dokumentā bija nepieciešams izmantot kādas speciālās rakstzīmes, tās vispirms jāpievieno, un tad arī jāpaskaidro partnerim, kas viņam jādara, lai šīs rakstzīmes nepārvērstos par "trakiem". Un neaizmirsīsim, ka katram kodējumam mums bija jāizstrādā vai jāievieš savi fonti, kā rezultātā OS tika izveidots milzīgs skaits dublikātu.

Iedomājieties arī, ka fontu lapā redzēsit 10 identisku Times New Roman gabalus ar nelielām atzīmēm: UTF-8, UTF-16, ANSI, UCS-2. Tagad jūs saprotat, ka steidzami bija jāizstrādā universāls standarts?

"Tēvi-radītāji"

Unicode pirmsākumi meklējami 1987. gadā, kad Džo Bekers no Xerox kopā ar Lī Kolinsu un Marku Deivisu no Apple sāka pētīt universālas rakstzīmju kopas praktisku izveidi. 1988. gada augustā Džo Bekers publicēja priekšlikuma projektu 16 bitu starptautiskai daudzvalodu kodēšanas sistēmai.

Pēc dažiem mēnešiem darba grupa Unicode tika paplašināts, iekļaujot Kenu Vistleru un Maiku Kerneganu no RLG, Glenu Raitu no Sun Microsystems un dažus citus, pabeidzot sākotnējo darbu pie viena kodēšanas standarta.

vispārīgs apraksts

Unikoda pamatā ir rakstzīmes jēdziens. Šī definīcija attiecas uz abstraktu parādību, kas pastāv noteiktā rakstības veidā un tiek realizēta caur grafēmām (tā "portretiem"). Katra rakstzīme "Unicode" ir norādīta ar unikālu kodu, kas pieder noteiktam standarta blokam. Piemēram, grafēma B pastāv gan angļu, gan krievu alfabētā, bet Unicode tai ir 2 dažādas rakstzīmes. Tiem tiek piemērota transformācija, t.i., katrs no tiem ir aprakstīts ar datu bāzes atslēgu, rekvizītu kopu un pilnu nosaukumu.

Unikoda priekšrocības

No citiem laikabiedriem Unicode kodējums izcēlās ar milzīgu rakstzīmju piedāvājumu rakstzīmju "šifrēšanai". Fakts ir tāds, ka tā priekšgājējiem bija 8 biti, tas ir, tie atbalstīja 28 rakstzīmes, bet jauna attīstība jau bija 216 rakstzīmes, kas bija milzīgs solis uz priekšu. Tas ļāva iekodēt gandrīz visus esošos un izplatītos alfabētus.

Līdz ar "Unikoda" parādīšanos nav nepieciešams izmantot konvertēšanas tabulas: kā vienots standarts viņš vienkārši noliedza viņu vajadzību. Gluži tāpat aizmirstībā ir nogrimuši "crakozyabry" – vienots standarts padarīja tos neiespējamus, kā arī likvidēja nepieciešamību veidot dublētus fontus.

Unikoda izstrāde

Protams, progress nestāv uz vietas, un kopš pirmās prezentācijas ir pagājuši 25 gadi. Tomēr Unicode kodējums spītīgi saglabā savu pozīciju pasaulē. Daudzos veidos tas kļuva iespējams, pateicoties tam, ka tas kļuva viegli ieviešams un izplatījies, un to atzina patentētas (maksas) un atvērtā pirmkoda programmatūras izstrādātāji.

Tajā pašā laikā nevajadzētu pieņemt, ka šodien mums ir pieejams tas pats Unicode kodējums, kas pirms ceturtdaļgadsimta. Šobrīd tā versija ir mainīta uz 5.x.x, un kodēto rakstzīmju skaits ir pieaudzis līdz 231. Tika atteikta iespēja izmantot lielāku rakstzīmju daudzumu, lai joprojām saglabātu atbalstu Unicode-16 (kodējums, kur to maksimālais skaits tika ierobežots līdz 216). Kopš tā izveides un līdz pat versijai 2.0.0 "Unikoda standarts" ir palielinājis tajā iekļauto rakstzīmju skaitu gandrīz 2 reizes. Iespēju pieaugums turpinājās arī turpmākajos gados. Līdz 4.0.0 versijai jau bija nepieciešams paaugstināt pašu standartu, kas arī tika izdarīts. Rezultātā "Unicode" ieguva tādu formu, kādā mēs to pazīstam šodien.

Kas vēl ir Unicode?

Papildus milzīgajam rakstzīmju skaitam, kas pastāvīgi tiek papildināts, tam ir vēl viena noderīga funkcija. Tā ir tā sauktā normalizācija. Tā vietā, lai ritinātu visu dokumentu pa rakstzīmēm un aizstātu atbilstošās ikonas no uzmeklēšanas tabulas, tiek izmantots kāds no esošajiem normalizācijas algoritmiem. Par ko mēs runājam?

Tā vietā, lai tērētu datora resursus, regulāri pārbaudot vienu un to pašu rakstzīmi, kas dažādos alfabētos var būt līdzīgi, tiek izmantots īpašs algoritms. Tas ļauj izņemt līdzīgas rakstzīmes atsevišķā aizstāšanas tabulas kolonnā un jau atsaukties uz tām, nevis atkārtoti pārbaudīt visus datus.

Ir izstrādāti un ieviesti četri šādi algoritmi. Katrā no tiem transformācija notiek pēc stingri noteikta principa, kas atšķiras no pārējiem, tāpēc nevienu no tiem nevar nosaukt par efektīvāko. Katrs tika izstrādāts konkrētām vajadzībām, tika ieviests un veiksmīgi izmantots.

Standarta izplatīšana

Savā 25 gadu pastāvēšanas vēsturē Unicode, iespējams, ir visplašāk izmantotais kodējums pasaulē. Šim standartam ir pielāgotas arī programmas un tīmekļa lapas. Fakts, ka Unicode mūsdienās izmanto vairāk nekā 60% interneta resursu, var runāt par pielietojuma plašumu.

Tagad jūs zināt, kad parādījās Unicode standarts. Kas tas ir, jūs arī zināt un varēsiet novērtēt visu speciālistu grupas Unicode Inc. izstrādātā izgudrojuma nozīmi. pirms vairāk nekā 25 gadiem.

Lai šī vietne pareizi darbotos, ir nepieciešams JavaScript. Lūdzu, pārlūkprogrammas iestatījumos iespējojiet JavaScript.

Unikoda rakstzīmju tabula

parādīt visu
Diapazons: 0000-001F: C0 vadības rakstzīmes 0020-007F: pamata latīņu rakstzīmes 0080-009F: C1 vadības rakstzīmes 00A0-00FF: latīņu-1 papildu rakstzīmes 0100-017F: latīņu paplašinātās rakstzīmes-A 0180-024F: AF latīņu valodas Extended-0--0 : starptautiskā fonētiskā alfabēta paplašinātā rakstzīmju kopa 02B0-02FF: nekombinējamas paplašinātās modifikācijas rakstzīmes 0300-036F: kombinējamās diakritiskās zīmes 0370-03FF: grieķu un koptu alfabēts 0400-04FF: kirilicas alfabēts 0400-04FF: kirilicas alfabēts 02B0-02 Papildu8:052F00 Armēņu alfabēts 0590 -05FF: ivrits 0600-06FF: arābu 0700-074F: sīriešu 0750-077F: papildu arābu 0780-07BF: tana (Maldīvija) 07C0-07FF: Nko 0600-06F Samaan 83F8:0808:08:08008080808080808008080080808080800808080808080808080808080808080808080808080808Paplašināta arābu valoda-A 0900-097F: Devanagari 0980-09FF: bengāļu 0A00-0A7F: Gurmukhi 0A80-0AFF: gudžaratu 0B00-0B7F: orija 0B80-0BFF: tamilu 0F00-0C7 0C80-0CFF: kannadu 0D00-0D7F: malajalu 0D80-0DFF: sinhalu 0E00-0E7F: taju 0E80-0EFF: laosa 0F00-0FFF: tibetiešu 1000-109F: korejiešu 1000-109F: gruzīnu skripts (Mjanma 1:0FF 10A-10A0) -137F: etiopiešu valodas zilbe 1380-139F: etiopiešu papildu rakstzīmes 13A0-13FF: čeroku rakstība 1400-167F: kanādiešu zilbe 1680-169F: ogham 16A0-16FF: rūnu raksts 17A0-16FF: rūnu raksts -175F: Buhid 1760-177F: Tagbanwa 1780-17FF: khmeru rakstība 1800-18AF: veco mongoļu rakstība 18B0-18FF: paplašināta kanādiešu zilbju 1900-194F: Limbu rakstība 1950-194F: Limbu rakstība 19E0-19FF: khmeru rakstzīmes 1A00-1A1F: bugi raksts (Lontara) 1A20-1AAF: vecais tai li raksts (Tai Tham) 1B00-1B7F: baliešu raksts 1B80-1 BBF: Sundānas rakstība 1BC0-1BFF: Batak rakstība 1C00-1C4F: Lepcha rakstība (Rong) 1C50-1C7F: Ol Chiki rakstība 1CD0-1CFF: Vēdu rakstzīmes 1D00-1D7F: fonētiskie paplašinājumi 1D80-1D7F: Papildu tālruņa paplašinājumi 1D80-1DDF:1:FF papildu tālruņa paplašinājumi. kombinējamās diakritiskās zīmes 1E00-1EFF: latīņu paplašinātais pielikums 1F00-1FFF: grieķu rakstzīmju paplašinājums 2000-206F: pieturzīmes 2070-209F: augšējie un apakšraksti 20A0-20CF: Valūtas simboli 20A0-20CF: Valūtas simboli 20:F0-like20critics2:D0-like20:D0 rakstzīmes 2150-218F: ciparu formas 2190-21FF: bultiņas 2200-22FF: matemātiskie operatori 2300-23FF: dažādas tehniskās rakstzīmes 2400-243F: vadības koda ikonas 2440-245F: OCR rakstzīmes 2440-245 un 24:0b burti 247:60 24:5 f Apmales simboli 2580-259F: aizpildījuma simboli 25A0-25FF: ģeometriskas formas 2600-26FF: dažādi simboli 27 00-27BF: Dingbats 27C0-27EF: Dažādi matemātikas simboli-A 27F0-27FF: papildu bultiņas-A 2800-28FF: Braila raksts 2900-297F: papildu bultiņas-B 2980-29FF: Extra bultiņas-B 2980-29FF: Simbols0A Math2 Operatori 2B00-2BFF: dažādi simboli un bultiņas 2C00-2C5F: Glagolitic 1AB0-1AFF: kombinācijas diakritiskie elementi (paplašinājums A) 1CC0-1CCF: paplašinātā sundāņu rakstzīmju kopa A9E0-A9FF: Extendented BFF ScriptAEScript-Myanmar ScriptAE Komplekts AB30-AB8F: paplašinātais latīņu raksts-E AB30-AB6F: Varang-Kshiti AB90-ABBF: Berija Zagava skripts 2C60-2C7F: paplašinātais latīņu raksts-C 2C80-2CFF: koptu rakstība 2D00-2D2F: papildu gruzīnu rakstība 2Dgh2D7F8D0-fin2Dgh00 -2DDF: Etiopiskā paplašinātā rakstzīmju kopa 2DE0-2DFF: paplašinātā kirilica-A 2E00-2E7F: Papildu zīmes pieturzīmes 2E80-2EFF: papildu CJK rakstzīmes 2F00-2FDF: Kangxi rakstzīmju taustiņi 2FF0-2FFF: rakstzīmju apraksta rakstzīmes 3000-303F: CJK rakstzīmes un pieturzīmes 3040-309F: Hiragana 30A0-30FF: Hiragana 30A0-30FF:31 318F: Chamo kombinācijā ar Hangul 3190-319F: kambunā izmantotās rakstzīmes 31A0-31BF: Bopomofo paplašinātā rakstzīmju kopa 31C0-31EF: CJK ir 31F0-31FF: Katakana fonētiskie paplašinājumi 3200-32FF: ligzdoti burti 3200-32FF: ligzdoti burti C0-JK un 3 3 mēneši. Saderības zīmes 3400-4DBF: CJK vienotās rakstzīmes (paplašinājums A) 4DC0-4DFF: I Ching heksagrammas 4E00-9FFF: CJK vienotās rakstzīmes A000-A48F: zilbes un A490-A4CF: radikāļi un A6F Vai A6F Li35-0A Alfabet A4D0 Ziblārija A640-A69F: paplašinātā kirilica-B A6A0-A6FF: Bamum skripts A700-A71F: toņa maiņas simboli A720-A7FF: paplašinātā latīņu valoda-D A800-A82F: Siloti Nagri A830-A83F: A8F 4 simbols. Phagba Lama A880-A8DF: Saurashtra A8E0-A8FF: Devanagari paplašinātā rakstzīme A900-A92F: Kayah Li A930-A95F: Rejang A960-A97F: Hangul (Paplašinājums A) A980-A9DF: Javanese A980-A9DF: Javanese A6. (Paplašinājums A) AA80-AADF: taivjetiešu rakstība AB00-AB2F: etiopiešu rakstība (A paplašinājums) ABC0-ABFF: Meitei/Manipuri AC00-D7AF: Hangul zilbes D800-DB7F: DB80 surogātpāru augšdaļa -DBFF: privāta augšējā daļa izmantot surogātpārus DC00-DFFF: surogātpāru apakšējā daļa E000-F8FF: privātās lietošanas apgabals F900-FAFF: ar CJK saderīgas rakstzīmes FB00-FB4F: alfabētiskās attēlojuma formas FB50-FDCF: arābu burtu-A attēlojuma formas FDF0-FDFF: Attēlojuma veidlapas FE00-FE0F: stila variantu atlasītāji FE10-FE1F: vertikālās formas FE20-FE2F: kombinējamas rakstzīmju puses FE30-FE4F: CJC saderības veidlapas FE50-FE6F: maza izmēra varianti FE70-FE FF: arābu burta B veidlapas FF00-FFEF: pusplatuma un pilna platuma veidlapas FFF0-FFFF: īpašas rakstzīmes

  • Kas ir Unicode?

    Unicode(Angļu) Unicode) ir universāls rakstzīmju kodēšanas standarts, kas ļauj nodrošināt rakstzīmes no visām pasaules valodām.

    Atšķirībā no ASCII, viena rakstzīme tiek kodēta kā divi baiti, kas ļauj izmantot 65 536 rakstzīmes, pret 256 .

    Kā jūs zināt, viens baits ir vesels skaitlis no nulle pirms tam 255 . Savukārt baits sastāv no astoņi biti, kas saglabā skaitliskās vērtības binārā formā, kur katra nākamā pašreizējā bita vienība ir divreiz lielāka par iepriekšējā bita vērtību. Tādējādi divi baiti var saglabāt numuru no nulle pirms tam 65 535 , kas ļauj izmantot 65 536 rakstzīmes (nulle + 65 535 , nulle arī ir skaitlis, tas nav nekas).

    Unikoda rakstzīmes ir sadalītas sadaļās. Pirmkārt 128 rakstzīmes atkārto tabulu ASCII.

    Kodējumu saime ir atbildīga par rakstzīmju parādīšanu. Unicode (Unikoda transformācijas formāts — UTF). Slavenākais un plaši izmantotais kodējums ir UTF-8.

  • Kā lietot tabulu?

    Simboli ir attēloti 16 gabalos katrā rindā. No augšas var redzēt heksadecimālais skaitlis no 0 pirms tam 16 . Kreisajā pusē līdzīgi skaitļi heksadecimālā formā no 0 pirms tam FFF.
    Savienojot numuru kreisajā pusē ar numuru augšpusē, jūs varat uzzināt rakstzīmes kodu. Piemēram: angļu vēstule F atrodas uz līnijas 004 , kolonnā 6 : 004 + 6 = rakstzīmju kods 0046 .

    Tomēr jūs varat vienkārši virzīt kursoru virs specifisks raksturs tabulā, lai uzzinātu rakstzīmju kodu. Vai noklikšķiniet uz simbola, lai kopētu to vai tā kodu kādā no formātiem.

    Meklēšanas laukā varat ievadīt meklēšanas atslēgvārdus, piemēram: bultiņas, saule, sirds. Vai arī varat norādīt rakstzīmju kodu jebkurā formātā, piemēram: 1123, 04BC, چ. Vai arī pats simbols, ja vēlaties uzzināt simbola kodu.

    Meklēt pēc atslēgvārdi pašlaik tiek izstrādāts, tāpēc tas var nedot rezultātus. Bet daudzi populāri simboli jau ir atrodami.

Ticiet vai nē, pārlūkprogrammā ir iebūvēts attēla formāts. Šis formāts ļauj lejupielādēt attēlus, pirms tie ir nepieciešami, nodrošina attēla renderēšanu parastajā vai tīklenes ekrāni un ļauj pievienot css attēli. Labi, tā nav gluži taisnība. Šis nav attēla formāts, lai gan viss pārējais joprojām ir spēkā. Izmantojot to, varat izveidot no izšķirtspējas neatkarīgas ikonas, kuru ielādei nav nepieciešams laiks un kuras var veidot ar stilu izmantojot CSS.

Kas ir Unicode?

Unicode ir iespēja vienā lapā pareizi attēlot dažādu valodu burtus un pieturzīmes. Tas ir neticami noderīgi: lietotāji varēs strādāt ar jūsu vietni visā pasaulē, un tā parādīs, ko vēlaties — tā var būt franču valoda ar diakritiskajām zīmēm vai Kanji .

Unicode turpina attīstīties: pašreizējā versija ir 8.0, kurā ir vairāk nekā 120 tūkstoši rakstzīmju (sākotnējā rakstā, kas publicēts 2014. gada sākumā, tas bija par versiju 6.3 un 110 tūkstošiem rakstzīmju).

Papildus burtiem un cipariem Unicode ir arī citas rakstzīmes un ikonas. AT jaunākās versijas tie ietvēra emocijzīmes, kuras varat redzēt iOS Messenger.

HTML lapas tiek izveidoti no unikoda rakstzīmju secības un tiek pārveidoti baitos, kad tie tiek nosūtīti tīklā. Katram burtam un jebkuras valodas simbolam ir savs unikāls kods, un tas tiek kodēts, kad fails tiek saglabāts.

Izmantojot UTF-8 kodēšanas sistēmu, jūs varat tieši ievietot unikoda rakstzīmes tekstā, bet varat arī pievienot unikoda rakstzīmes tekstam, norādot ciparu simbolisku saiti. Piemēram, tas ir sirds simbols, un jūs varat parādīt šo simbolu, vienkārši pievienojot kodu marķējumam.

Šo ciparu atsauci var norādīt gan decimālā, gan heksadecimālā formātā. Decimāldaļas formātā sākumā jāpievieno burts x, ierakstam tiks dota tāda pati sirds ( ) kā iepriekšējā opcija. (2665 ir 9829 heksadecimālā versija).

Ja pievienojat unikoda rakstzīmi ar CSS, varat izmantot tikai heksadecimālās vērtības.

Dažām biežāk lietotajām unikoda rakstzīmēm ir labāk atmiņā paliekoši teksta nosaukumi vai saīsinājumi, nevis ciparu kodi, piemēram, & — &. Tādus tēlus sauc mnemonika HTML valodā, to pilns saraksts ir pieejams Vikipēdijā.

Kāpēc jums vajadzētu izmantot Unicode?

Labs jautājums, šeit ir daži iemesli:

  1. Lai izmantotu pareizās rakstzīmes no dažādām valodām.
  2. Lai aizstātu ikonas.
  3. Lai aizstātu ikonas, kas savienotas, izmantojot @font-face .
  4. Lai iestatītu CSS klases

Pareizās rakstzīmes

Pirmais no iemesliem neprasa nekādas papildu darbības. Ja HTML ir saglabāts UTF-8 formātā un tā kodējums tīklā tiek pārsūtīts kā UTF-8, visam jādarbojas kā nākas.

Jā. Diemžēl ne visas pārlūkprogrammas un ierīces atbalsta visas unikoda rakstzīmes vienādi (precīzāk, ne visi fonti atbalsta pilnu rakstzīmju kopu). Piemēram, tikko pievienotās emocijzīmju rakstzīmes netiek atbalstītas visur.

Lai iegūtu UTF-8 atbalstu HTML5, pievienojiet (ja jums nav piekļuves servera iestatījumiem, jums arī jāpievieno ). Vecais doktips izmanto ( ).

Ikonas

Otrs iemesls, lai izmantotu Unicode, ir liels skaits noderīgi simboli, ko var izmantot kā ikonas. Piemēram, , ≡ un .

To acīmredzamā priekšrocība ir tāda, ka jums tas nav vajadzīgs papildu faili lai tos pievienotu lapai, kas nozīmē, ka jūsu vietne būs ātrāka. Varat arī mainīt to krāsu vai pievienot ēnu, izmantojot CSS. Un, pievienojot pārejas (css pāreju), jūs varat vienmērīgi mainīt ikonas krāsu, virzot kursoru virs tās, bez papildu attēliem.

Pieņemsim, ka es vēlos savā lapā iekļaut vērtējuma rādītāju ar zvaigznītēm. Es to varu izdarīt šādi:

★ ★ ★ ☆ ☆

Jūs iegūsit šādu rezultātu:

Bet, ja jums nepaveicas, jūs redzēsit kaut ko līdzīgu:

Tas pats vērtējums BlackBerry 9000

Tas notiek, ja izmantotās rakstzīmes nav pārlūkprogrammas vai ierīces fontā (par laimi šīs zvaigznītes tiek atbalstītas lieliski un vecās Blackberry tālruņišeit ir vienīgais izņēmums).

Ja nav unikoda rakstzīmes, to var aizstāt ar rakstzīmēm, sākot no tukša kvadrāta (□) līdz rombiņam ar jautājuma zīmi (�).

Bet kā atrast unikoda rakstzīmi, kas varētu būt piemērota izmantošanai jūsu dizainā? Varat to meklēt tādā vietnē kā Unicodinator, apskatot pieejamās rakstzīmes, taču tādas ir arī labākais veids. - šī lieliskā vietne ļauj uzzīmēt ikonu, kuru meklējat, un pēc tam piedāvā līdzīgu Unikoda rakstzīmju sarakstu.

Unikoda izmantošana ar @font-face ikonām

Ja izmantojat ikonas, kas ir saistītas ar ārēju fontu, izmantojot @font-face , Unikoda rakstzīmes var izmantot kā rezerves. Tādā veidā jūs varat parādīt līdzīgu unikoda rakstzīmi ierīcēs vai pārlūkprogrammās, kurās @font-face netiek atbalstīts:

Kreisajā pusē ir Font Awesome ikonas pārlūkā Chrome, bet labajā pusē ir Unicode aizstājējrakstzīmes pārlūkprogrammā Opera Mini.

Daudzi @font-face atbilstības rīki izmanto Unicode rakstzīmju diapazonu no privātās lietošanas apgabala. Šīs pieejas problēma ir tāda, ka, ja @font-face netiek atbalstīts, rakstzīmju kodi tiek nodoti lietotājam bez nozīmes.

Lieliski piemērots ikonu kopu izveidei @font-face un ļauj izvēlēties piemērotu unikoda rakstzīmi kā ikonas pamatu.

Taču esiet piesardzīgs — dažām pārlūkprogrammām un ierīcēm nepatīk atsevišķas Unikoda rakstzīmes, ja tās tiek izmantotas kopā ar @font-face . Ir lietderīgi pārbaudīt Unikoda rakstzīmju atbalstu, izmantojot Unify — šī lietotne palīdzēs noteikt, cik droši ir izmantot rakstzīmi @font-face ikonu kopā.

Unikoda rakstzīmju atbalsts

Galvenā problēma, izmantojot Unikoda rakstzīmes kā rezerves, ir sliktais atbalsts ekrāna lasītājos (atkal, daļu informācijas par to var atrast vietnē Unify), tāpēc ir svarīgi rūpīgi izvēlēties izmantojamās rakstzīmes.

Ja jūsu ikona ir tikai dekoratīvs elements blakus teksta etiķetei, ko var nolasīt ekrāna lasītājs, jums nav pārāk jāuztraucas. Bet, ja ikona ir viena pati, ir vērts pievienot slēpta teksta etiķeti, lai palīdzētu ekrāna lasītāja lietotājiem. Pat ja Unikoda rakstzīmi nolasa ekrāna lasītājs, pastāv iespēja, ka tā ļoti atšķirsies no paredzētā mērķa. Piemēram, VoiceOver operētājsistēmā iOS nolasīs ≡ (≡) kā hamburgera ikonu kā “identisku”.

Unicode CSS klašu nosaukumos

Tas, ka Unicode var izmantot klašu nosaukumos un stilu lapās, ir zināms kopš 2007. gada. Toreiz Džonatans Snūks rakstīja par unikoda rakstzīmju izmantošanu palīgu klasēs, izkārtojot noapaļotus stūrus. Šī ideja nav saņēmusi lielu izplatību, taču ir vērts zināt par Unicode izmantošanas iespēju klašu nosaukumos (speciālās rakstzīmes vai kirilica).

Fonta izvēle

Tikai daži fonti atbalsta pilnu Unikoda rakstzīmju kopu, tāpēc, izvēloties fontu, noteikti pārbaudiet vajadzīgās rakstzīmes.

Daudz ikonu Segoe UI Symbol vai Arial Unicode MS. Šie fonti ir pieejami gan PC, gan Mac; Lucida Grande ir arī diezgan daudz unikoda rakstzīmju. Šos fontus varat pievienot fontu saimes deklarācijai, lai lietotājiem, kuriem šie fonti ir instalēti, ieviestu maksimālo Unikoda rakstzīmju skaitu.

Unikoda atbalsta noteikšana

Būtu ļoti ērti, ja varētu pārbaudīt konkrētas Unikoda rakstzīmes klātbūtni, taču nav garantēta veida, kā to izdarīt.

Unikoda rakstzīmes var būt efektīvas, ja tās tiek atbalstītas. Piemēram, emocijzīme e-pasta tēmas rindiņā izceļ to no pārējām pastkaste.

Secinājums

Šis raksts aptver tikai Unicode pamatus. Es ceru, ka tas jums noderēs un palīdzēs labāk izprast unikodu un to efektīvi izmantot.

Saišu saraksts

  • (Unikoda bāzes @font-face ikonu kopas ģenerators)
  • Shape Catcher (Unikoda rakstzīmju atpazīšanas rīks)
  • Unicodinator (unikoda rakstzīmju tabula)
  • Unify (pārbaudiet unikoda rakstzīmju atbalstu pārlūkprogrammās)
  • Unitools (rīku kolekcija darbam ar Unicode)