Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • OS
  • Tabela asuka është e plotë. Kodimi ASCII (kodi standard amerikan për shkëmbimin e informacionit) - kodimi bazë i tekstit për latinisht

Tabela asuka është e plotë. Kodimi ASCII (kodi standard amerikan për shkëmbimin e informacionit) - kodimi bazë i tekstit për latinisht

Përshëndetje të dashur lexues të faqes së blogut. Sot do të flasim me ju se nga vijnë krakozyabrët në faqe dhe në programe, cilat kodime teksti ekzistojnë dhe cilat duhet të përdoren. Le të hedhim një vështrim më të afërt në historinë e zhvillimit të tyre, duke filluar nga ASCII bazë, si dhe versionet e tij të zgjeruara CP866, KOI8-R, Windows 1251 dhe duke përfunduar me kodimet moderne të konsorciumit Unicode UTF 16 dhe 8.

Për disa, ky informacion mund të duket i tepërt, por ju do ta dini se sa pyetje marr në lidhje me krakozyabrët e zvarritur (grup karakteresh jo të lexueshëm). Tani do të kem mundësinë t'i referoj të gjithë në tekstin e këtij artikulli dhe të gjej në mënyrë të pavarur bllokimet e mia. Epo, përgatituni të përthithni informacionin dhe përpiquni të ndiqni historinë.

ASCII - kodimi bazë i tekstit për alfabetin latin

Zhvillimi i kodimeve të tekstit u zhvillua njëkohësisht me formimin e industrisë së IT, dhe gjatë kësaj kohe ata arritën të pësojnë mjaft ndryshime. Historikisht, gjithçka filloi me EBCDIC, e cila nuk ishte mjaft eufonike në shqiptimin rus, gjë që bëri të mundur kodimin e shkronjave të alfabetit latin, numrave arabë dhe shenjave të pikësimit me karaktere kontrolli.

Por megjithatë, pika fillestare për zhvillimin e kodimeve moderne të tekstit është e famshmja ASCII(Kodi standard amerikan për shkëmbimin e informacionit, i cili në rusisht zakonisht shqiptohet si "aski"). Ai përshkruan 128 karakteret e para më të përdorura nga përdoruesit anglishtfolës - shkronja latine, numra arabë dhe shenja pikësimi.

Edhe këto 128 karaktere të përshkruara në ASCII përfshinin disa simbole shërbimi si kllapa, vija hash, yje, etj. Në fakt, ju vetë mund t'i shihni ato:

Janë këta 128 karaktere nga versioni origjinal ASCII që u bënë standardi dhe në çdo kodim tjetër me siguri do t'i përmbushni dhe do të qëndrojnë në atë renditje.

Por fakti është se me ndihmën e një bajt informacioni, është e mundur të kodohen jo 128, por deri në 256 vlera të ndryshme (dy në fuqinë e tetë janë të barabartë me 256), prandaj, pas versionit bazë të Asuka , u shfaq një seri e tërë kodime të zgjeruara ASCII, në të cilën, përveç 128 karaktereve bazë, ishte e mundur të kodoheshin simbole të kodimit kombëtar (për shembull, rusisht).

Këtu, ndoshta, vlen të thuhet pak më shumë për sistemet e numrave që përdoren në përshkrim. Së pari, siç e dini të gjithë, kompjuteri funksionon vetëm me numra në sistemin binar, përkatësisht me zero dhe njëshe ("algjebra Boolean", nëse dikush shkon në kolegj ose shkollë). , secila prej të cilave është një 2 në fuqi, duke filluar nga zero, dhe deri në dy në të shtatën:

Nuk është e vështirë të kuptohet se mund të ketë vetëm 256 kombinime të mundshme të zerove dhe njësheve në një ndërtim të tillë.Shndërrimi i një numri nga një sistem binar në një dhjetor është mjaft i thjeshtë. Thjesht duhet të shtoni të gjitha fuqitë e dyve mbi të cilat ka një.

Në shembullin tonë, kjo është 1 (2 në fuqinë zero) plus 8 (dy në fuqinë 3), plus 32 (dy në fuqinë e pestë), plus 64 (në të gjashtën), plus 128 (në të shtatën). Totali merr 233 në shënimin dhjetor. Siç mund ta shihni, gjithçka është shumë e thjeshtë.

Por nëse shikoni nga afër tabelën me karaktere ASCII, do të shihni se ato përfaqësohen në kodim heksadecimal. Për shembull, një yll korrespondon me numrin heksadecimal 2A në Asuka. Ju ndoshta e dini se në sistemin heksadecimal të numrave, përveç numrave arabë, përdoren edhe shkronja latine nga A (do të thotë dhjetë) në F (do të thotë pesëmbëdhjetë).

Epo, për shndërroni numrin binar në heksadecimal përdorni metodën e mëposhtme të thjeshtë dhe intuitive. Çdo bajt informacioni ndahet në dy pjesë me katër bit, siç tregohet në pamjen e mësipërme të ekranit. Se. në çdo gjysmë bajt, vetëm gjashtëmbëdhjetë vlera (dy deri në fuqinë e katërt) mund të kodohen në binar, të cilat mund të përfaqësohen lehtësisht si një numër heksadecimal.

Për më tepër, në gjysmën e majtë të bajtit, do të jetë e nevojshme të numëroni përsëri shkallët duke filluar nga zero, dhe jo siç tregohet në pamjen e ekranit. Si rezultat, me disa llogaritje të thjeshta, marrim se numri E9 është i koduar në pamjen e ekranit. Shpresoj që rrjedha e arsyetimit tim dhe zgjidhja e kësaj enigme doli të jetë e qartë për ju. Epo, tani le të vazhdojmë, në fakt, duke folur për kodimet e tekstit.

Versione të zgjeruara të kodimeve Asuka - CP866 dhe KOI8-R me pseudografikë

Pra, filluam të flasim për ASCII, i cili ishte, si të thuash, një pikënisje për zhvillimin e të gjitha kodimeve moderne (Windows 1251, Unicode, UTF 8).

Fillimisht, ai përmbante vetëm 128 karaktere të alfabetit latin, numra arabë dhe diçka tjetër atje, por në versionin e zgjeruar u bë e mundur të përdoreshin të gjitha 256 vlerat që mund të kodohen në një bajt informacioni. ato. u bë e mundur të shtoni simbole të shkronjave të gjuhës suaj në Aski.

Këtu do të jetë e nevojshme të largohemi edhe një herë për të sqaruar - pse na duhen fare kodimet tekstet dhe pse është kaq e rëndësishme. Simbolet në ekranin e kompjuterit tuaj formohen në bazë të dy gjërave - grupe formash vektoriale (përfaqësime) të të gjitha llojeve të karaktereve (ato janë në skedarë bashkë) dhe një kod që ju lejon të tërhiqeni nga ky grup formash vektoriale (font skedar) pikërisht simboli që do të duhet të futet në vendin e duhur.

Është e qartë se vetë shkronjat janë përgjegjëse për format vektoriale, por sistemi operativ dhe programet e përdorura në të janë përgjegjës për kodimin. ato. çdo tekst në kompjuterin tuaj do të jetë një grup bajtësh, secili prej të cilëve kodon një karakter të vetëm të këtij teksti.

Programi që shfaq këtë tekst në ekran (redaktori i tekstit, shfletuesi, etj.), kur analizon kodin, lexon kodimin e karakterit tjetër dhe kërkon formën përkatëse vektoriale në skedarin e shkronjave të kërkuara, i cili është i lidhur për të shfaqur këtë dokument teksti. Gjithçka është e thjeshtë dhe e zakonshme.

Kjo do të thotë që për të koduar çdo karakter që na nevojitet (për shembull, nga alfabeti kombëtar), duhet të plotësohen dy kushte - forma vektoriale e këtij karakteri duhet të jetë në fontin e përdorur dhe ky karakter mund të kodohet në kodime të zgjeruara ASCII në një bajt. Prandaj, ka një grup të tërë opsionesh të tilla. Ekzistojnë disa lloje të Asuka të zgjeruar vetëm për kodimin e karaktereve të gjuhës ruse.

Për shembull, u shfaq fillimisht CP866, në të cilën ishte e mundur të përdoreshin karakteret e alfabetit rus dhe ishte një version i zgjeruar i ASCII.

ato. pjesa e sipërme e saj përkoi plotësisht me versionin bazë të Asuka (128 karaktere latine, numra dhe çdo gjë tjetër), e cila është paraqitur në pamjen e ekranit pak më lart, por tashmë pjesa e poshtme e tabelës me kodimin CP866 kishte pamjen e treguar në pamjen e ekranit pak më poshtë dhe lejohet të kodojë 128 shenja të tjera (shkronja ruse dhe të gjitha llojet e pseudo-grafikave):

Shihni, në kolonën e djathtë, numrat fillojnë me 8, sepse numrat 0 deri në 7 i referohen pjesës bazë ASCII (shih pamjen e parë të ekranit). Se. shkronja ruse "M" në CP866 do të ketë kodin 9C (ai ndodhet në kryqëzimin e rreshtit përkatës me 9 dhe kolonën me numrin C në shënimin heksadecimal), i cili mund të shkruhet në një bajt informacioni, dhe nëse ekziston një font i përshtatshëm me karaktere ruse, kjo letër është pa probleme do të shfaqet në tekst.

Nga ka ardhur kjo shumë? pseudografia në CP866? Çështja është se ky kodim për tekstin rus u zhvillua në ato vite me gëzof, kur nuk kishte një përhapje të tillë të sistemeve operative grafike siç është tani. Dhe në Dos, dhe sisteme të ngjashme operative të tekstit, pseudo-grafika bëri të mundur që disi të diversifikohej dizajni i teksteve dhe për këtë arsye CP866 dhe të gjithë bashkëmoshatarët e tij nga kategoria e versioneve të zgjeruara të Asuka janë të bollshme në të.

CP866 u shpërnda nga IBM, por përveç kësaj, u zhvilluan një numër kodimesh për karakteret ruse, për shembull, ky lloj (ASCII i zgjeruar) mund t'i atribuohet KOI8-R:

Parimi i funksionimit të tij mbetet i njëjtë me atë të CP866 të përshkruar pak më herët - çdo karakter i tekstit është i koduar me një bajt të vetëm. Pamja e ekranit tregon gjysmën e dytë të tabelës KOI8-R, që nga ajo kohë gjysma e parë është plotësisht në përputhje me Asuka bazë, e cila tregohet në pamjen e parë të ekranit në këtë artikull.

Ndër veçoritë e kodimit KOI8-R, mund të vërehet se shkronjat ruse në tabelën e tij nuk janë në rend alfabetik, siç bënë, për shembull, në CP866.

Nëse shikoni pamjen e parë të ekranit (të pjesës bazë, e cila përfshihet në të gjitha kodimet e zgjeruara), do të vini re se në KOI8-R shkronjat ruse janë të vendosura në të njëjtat qeliza të tabelës si shkronjat e bashkëtingëllores së alfabetit latin. me ta nga pjesa e parë e tabelës. Kjo u bë për lehtësinë e kalimit nga karakteret ruse në shkronjat latine duke hedhur vetëm një bit (dy në fuqinë e shtatë ose 128).

Windows 1251 - versioni modern i ASCII dhe pse dalin krakozyabry

Zhvillimi i mëtejshëm i kodimeve të tekstit u shoqërua me faktin se sistemet operative grafike po fitonin popullaritet dhe nevoja për të përdorur pseudo-grafikë në to u zhduk me kalimin e kohës. Si rezultat, u ngrit një grup i tërë, të cilët, në thelb, ishin ende versione të zgjeruara të Asuka (një personazh i tekstit është i koduar me vetëm një bajt informacioni), por tashmë pa përdorimin e karaktereve pseudografike.

Ato i përkisnin të ashtuquajturave kodime ANSI, të cilat u zhvilluan nga Instituti Amerikan i Standardeve. Në gjuhën e zakonshme, emri i alfabetit cirilik përdorej ende për versionin me mbështetje për gjuhën ruse. Një shembull i kësaj mund të shërbejë.

Ai ndryshonte në mënyrë të favorshme nga CP866 dhe KOI8-R të përdorura më parë në atë që vendin e simboleve pseudografike në të e zunë simbolet që mungonin të tipografisë ruse (përveç shenjës së theksit), si dhe simbolet e përdorura në gjuhët sllave. afër rusishtes (ukrainas, bjellorusisht, etj.)):

Për shkak të një bollëk të tillë të kodimeve në gjuhën ruse, prodhuesit e shkronjave dhe prodhuesit e softuerëve vazhdimisht kishin dhimbje koke, dhe ne, të dashur lexues, shpesh i dilnim nga ata famëkeq krakozyabry kur pati ngatërrim me versionin e përdorur në tekst.

Shumë shpesh ata dilnin kur dërgonin dhe merrnin mesazhe me postë elektronike, gjë që përfshinte krijimin e tabelave shumë komplekse të konvertimit, të cilat, në fakt, nuk mund ta zgjidhnin rrënjësisht këtë problem, dhe shpesh përdoruesit për korrespondencë përdornin për të shmangur krakozyabët famëkeq kur përdornin Kodimet ruse si CP866, KOI8-R ose Windows 1251.

Në fakt, krakozyabry, të cilët u ngjitën në vend të tekstit rus, ishin rezultat i një përdorimi të gabuar të kodimit të kësaj gjuhe, i cili nuk korrespondonte me atë në të cilin mesazhi me tekst ishte koduar fillimisht.

Për shembull, nëse përpiqemi të shfaqim karakteret e koduara me CP866 duke përdorur tabelën e kodit të Windows 1251, atëherë do të dalin të njëjtat krakozyabry (grup karakteresh pa kuptim), duke zëvendësuar plotësisht tekstin e mesazhit.

Një situatë e ngjashme ndodh shumë shpesh kur, forume ose blogje, kur teksti me karaktere ruse ruhet gabimisht në kodimin e gabuar që përdoret në sit si parazgjedhje, ose në redaktuesin e gabuar të tekstit që shton gagging në kodin që nuk është i dukshëm për syri i lirë.

Në fund të fundit, një situatë e tillë me një mori kodimesh dhe krakoziabra që shfaqen vazhdimisht të lodhur nga shumë, kishte parakushte për krijimin e një variacioni të ri universal që do të zëvendësonte të gjitha ato ekzistuese dhe do të zgjidhte përfundimisht problemin rrënjësor të shfaqjes së teksteve të palexueshme. . Për më tepër, ekzistonte problemi i gjuhëve si kinezishtja, ku karakteret e gjuhës ishin shumë më tepër se 256.

Unicode - Kodimet universale UTF 8, 16 dhe 32

Këto mijëra karaktere nga grupi i gjuhëve të Azisë Juglindore nuk mund të përshkruheshin në një bajt informacioni, i cili u nda për kodimin e karaktereve në versionet e zgjeruara të ASCII. Si rezultat, u krijua një konsorcium i quajtur Unicode(Unicode - Unicode Consortium) me bashkëpunimin e shumë drejtuesve të industrisë së IT (ata që prodhojnë softuer, që kodojnë harduer, që krijojnë fontet) të cilët ishin të interesuar në shfaqjen e një kodimi universal të tekstit.

Variacioni i parë i lëshuar nën kujdesin e konsorciumit Unicode ishte UTF 32... Numri në emrin e kodimit nënkupton numrin e biteve që përdoren për të koduar një karakter. 32 bit janë 4 bajtë informacion që do të nevojiten për të koduar një karakter të vetëm në kodimin e ri universal UTF.

Si rezultat, i njëjti skedar me tekst të koduar në versionin e zgjeruar të ASCII dhe në UTF-32, në rastin e fundit, do të ketë madhësinë (peshën) katër herë më shumë. Kjo është e keqe, por tani kemi mundësinë të kodojmë numrin e karaktereve të barabartë me dy me fuqinë tridhjetë e dytë ( miliarda personazhe, e cila do të mbulojë çdo vlerë vërtet të nevojshme me një diferencë kolosale).

Por shumë vende me gjuhë të grupit evropian nuk kishin nevojë të përdornin një numër kaq të madh karakteresh në kodim, por kur u përdor UTF-32, ata morën një rritje katërfish në peshën e dokumenteve të tekstit për asgjë, dhe si si rezultat, një rritje në vëllimin e trafikut të internetit dhe vëllimit të të dhënave të ruajtura. Kjo është shumë, dhe askush nuk mund të përballonte mbeturina të tilla.

Si rezultat i zhvillimit të Unicode, UTF-16, i cili doli të ishte aq i suksesshëm saqë u pranua si parazgjedhje si hapësira bazë për të gjitha simbolet që përdorim. Ai përdor dy bajt për të koduar një karakter. Le të shohim se si duket ky rast.

Në sistemin operativ Windows, mund të ndiqni rrugën "Start" - "Programs" - "Accessories" - "System Tools" - "Symbol Map". Si rezultat, do të hapet një tabelë me format vektoriale të të gjitha shkronjave të instaluara në sistemin tuaj. Nëse zgjidhni grupin e karaktereve Unicode në "Parametrat shtesë", do të mund të shihni për secilin font veçmas të gjithë gamën e karaktereve të përfshira në të.

Nga rruga, duke klikuar në ndonjë prej tyre, mund të shihni dy bajtin e tij Kodi UTF-16 i përbërë nga katër shifra heksadecimal:

Sa karaktere mund të kodohen në UTF-16 me 16 bit? 65536 (dy në fuqinë e gjashtëmbëdhjetë), dhe ishte ky numër që u mor si hapësira bazë në Unicode. Për më tepër, ka mënyra për të koduar me të dhe rreth dy milionë karaktere, por ishin të kufizuara në hapësirën e zgjeruar prej një milion karakteresh teksti.

Por edhe ky version i suksesshëm i kodimit Unicode nuk u solli shumë kënaqësi atyre që shkruan, për shembull, programe vetëm në anglisht, sepse pas kalimit nga versioni i zgjeruar i ASCII në UTF-16, pesha e dokumenteve u dyfishua (një bajt për një karakter në Aski dhe dy bajt për të njëjtin karakter në UTP-16).

Ishte pikërisht për kënaqësinë e të gjithëve dhe gjithçkaje në konsorciumin Unicode që u vendos të dilte me kodimi me gjatësi të ndryshueshme... Ata e quajtën atë UTF-8. Pavarësisht numrit tetë në emër, ai me të vërtetë ka një gjatësi të ndryshueshme, d.m.th. çdo karakter në tekst mund të kodohet në një sekuencë prej një deri në gjashtë bajt.

Në praktikë, në UTF-8, përdoret vetëm diapazoni nga një deri në katër bajt, sepse përtej katër bajteve të kodit, asgjë nuk është as teorikisht e mundur të imagjinohet. Të gjitha karakteret latine në të janë të koduara në një bajt, ashtu si në ASCII të mirë të vjetër.

Ajo që vlen të përmendet, në rastin e kodimit vetëm të alfabetit latin, edhe ato programe që nuk kuptojnë Unicode do të lexojnë ende atë që është e koduar në UTF-8. ato. pjesa bazë e Asuka sapo kaloi në këtë ide të konsorciumit Unicode.

Karakteret cirilike në UTF-8 janë të koduara në dy bajt, dhe, për shembull, ato gjeorgjiane - në tre bajtë. Konsorciumi Unicode pasi krijoi UTF 16 dhe 8 zgjidhi problemin kryesor - tani e kemi ka një hapësirë ​​të vetme kodi në fontet... Dhe tani prodhuesit e tyre mund ta mbushin atë vetëm me forma vektoriale të simboleve të tekstit bazuar në pikat e forta dhe aftësitë e tyre. Tani edhe në grupe.

Në "Tabela e karaktereve" e mësipërme mund të shihni se fonte të ndryshëm mbështesin një numër të ndryshëm karakteresh. Disa fonte të pasura me Unicode mund të jenë shumë të rënda. Por tani ato ndryshojnë jo në atë që janë krijuar për kodime të ndryshme, por në atë që prodhuesi i fontit ka mbushur ose nuk ka mbushur një hapësirë ​​​​të vetme kodi me forma të caktuara vektoriale deri në fund.

Krakozyabry në vend të shkronjave ruse - si ta rregulloni atë

Le të shohim tani se si shfaqen krakozyabras në vend të tekstit, ose, me fjalë të tjera, si zgjidhet kodimi i saktë për tekstin rus. Në fakt, ai vendoset në programin në të cilin krijoni ose modifikoni pikërisht këtë tekst ose kod duke përdorur fragmente teksti.

Për redaktimin dhe krijimin e skedarëve tekstualë, unë personalisht përdor një shumë të mirë, për mendimin tim. Sidoqoftë, ai mund të nxjerrë në pah sintaksën e njëqind gjuhëve të tjera programimi dhe shënjimi, dhe gjithashtu ka aftësinë të zgjerohet duke përdorur shtojca. Lexoni një përmbledhje të detajuar të këtij programi të shkëlqyeshëm në lidhjen e dhënë.

Në menynë e sipërme të Notepad ++ ka një artikull "Encodings", ku do të mund të konvertoni versionin ekzistues në atë që përdoret si parazgjedhje në faqen tuaj:

Në rastin e një faqeje në Joomla 1.5 dhe më të lartë, si dhe në rastin e një blogu në WordPress, për të shmangur shfaqjen e çarjeve, zgjidhni opsionin UTF 8 pa BOM... Çfarë është prefiksi BOM?

Fakti është se kur u zhvillua kodimi YUTF-16, për disa arsye ata vendosën t'i bashkëngjisin një gjë të tillë si aftësia për të shkruar një kod karakteri, si në sekuencë të drejtpërdrejtë (për shembull, 0A15) dhe në të kundërt (150A) . Dhe në mënyrë që programet të kuptojnë se në cilën sekuencë për të lexuar kodet, dhe u shpik BOM(Byte Order Mark ose, me fjalë të tjera, nënshkrimi), i cili u shpreh në shtimin e tre bajteve shtesë që në fillim të dokumenteve.

Në kodimin UTF-8, asnjë BOM nuk parashikohet në konsorciumin Unicode, dhe për këtë arsye shtimi i një nënshkrimi (këto tre bajt shtesë më famëkeq në fillim të dokumentit) thjesht pengon disa programe të lexojnë kodin. Prandaj, gjatë ruajtjes së skedarëve në UTP, gjithmonë duhet të zgjedhim opsionin pa BOM (pa nënshkrim). Kështu që ju përparoni mbroni veten nga zvarritja jashtë krakozyabrov.

Ajo që vlen të përmendet është se disa programe në Windows nuk mund ta bëjnë këtë (ata nuk mund të ruajnë tekstin në UTP-8 pa BOM), për shembull, Notepad famëkeq i Windows. Ai e ruan dokumentin në UTF-8, por gjithsesi shton një nënshkrim (tre bajtë shtesë) në fillim. Për më tepër, këto byte do të jenë gjithmonë të njëjta - lexoni kodin në sekuencë të drejtpërdrejtë. Por në serverë, për shkak të kësaj gjëje, mund të lindë një problem - krakozyabry do të dalë.

Pra në asnjë mënyrë mos përdorni bllok shënimesh të zakonshme të Windows për redaktimin e dokumenteve të faqes tuaj, nëse nuk dëshironi pamjen e krakozyabrs. Opsioni më i mirë dhe më i thjeshtë, mendoj, është redaktori i përmendur tashmë Notepad ++, i cili praktikisht nuk ka të meta dhe përbëhet vetëm nga avantazhe.

Në Notepad ++, kur zgjidhni një kodim, do të jeni në gjendje ta konvertoni tekstin në kodimin UCS-2, i cili në thelb është shumë afër standardit Unicode. Gjithashtu në Notepad do të mund të kodohet teksti në ANSI, d.m.th. në lidhje me gjuhën ruse do të përshkruhet tashmë nga ne pikërisht mbi Windows 1251. Nga vjen ky informacion?

Është i regjistruar në regjistrin e sistemit tuaj operativ Windows - cilin kodim të zgjidhni në rastin e ANSI, cilin të zgjidhni në rastin e OEM (për gjuhën ruse do të jetë CP866). Nëse instaloni një gjuhë tjetër të paracaktuar në kompjuterin tuaj, atëherë këto kodime do të zëvendësohen me të ngjashme nga kategoria ANSI ose OEM për të njëjtën gjuhë.

Pasi ta ruani dokumentin në kodimin që ju nevojitet në Notepad ++ ose të hapni dokumentin nga faqja për modifikim, mund ta shihni emrin e tij në këndin e poshtëm të djathtë të redaktuesit:

Për të shmangur krakozyabrov, përveç veprimeve të përshkruara më sipër, do të jetë e dobishme të shkruani informacione në lidhje me këtë kodim në kokën e kodit burimor të të gjitha faqeve të faqes në mënyrë që të mos ketë konfuzion në serverin ose hostin lokal.

Në përgjithësi, në të gjitha gjuhët e shënjimit të hipertekstit përveç Html, përdoret një deklaratë e veçantë xml, e cila tregon kodimin e tekstit.

Para se të fillojë analizimin e kodit, shfletuesi do të dijë se cili version është duke u përdorur dhe se si duhet të interpretohen saktësisht kodet e karaktereve të kësaj gjuhe. Por ajo që vlen të përmendet është se nëse e ruani dokumentin në unicode të paracaktuar, atëherë kjo deklaratë xml mund të hiqet (kodimi do të konsiderohet UTF-8 nëse nuk ka BOM ose YUTF-16 nëse ka një BOM).

Në rastin e një dokumenti HTML, kodimi specifikohet Elementi meta, i cili shkruhet midis etiketave Head hapëse dhe mbyllëse:

... ...

Kjo hyrje është mjaft e ndryshme nga ajo e miratuar, por përputhet plotësisht me standardin e ri Html 5 që po prezantohet ngadalë dhe do të kuptohet 100% saktë nga çdo shfletues i përdorur aktualisht.

Në teori, elementi Meta që tregon kodimin e dokumentit Html do të vendosej më mirë sa më lart që të jetë e mundur në kokën e dokumentit në mënyrë që në momentin e takimit të karakterit të parë në tekst që nuk është nga ANSI bazë (i cili lexohet gjithmonë saktë dhe në çdo variacion), shfletuesi duhet të ketë tashmë informacion se si të interpretojë kodet e këtyre karaktereve.

Paç fat! Shihemi së shpejti në faqet e faqes së blogut

mund të shikoni më shumë video duke shkuar te
");">

Ju mund të jeni të interesuar

Cilat janë URL-të, cili është ndryshimi midis lidhjeve absolute dhe relative për një faqe
OpenServer është një server modern lokal dhe një shembull i përdorimit të tij për të instaluar WordPress në një kompjuter
Çfarë është Chmod, çfarë lejesh për t'u caktuar skedarëve dhe dosjeve (777, 755, 666) dhe si ta bëjmë atë nëpërmjet PHP
Kërkimi Yandex në sit dhe dyqanin online

Siç e dini, një kompjuter ruan informacionin në formë binare, duke e paraqitur atë si një sekuencë njësh dhe zero. Për të përkthyer informacionin në një formë që është e përshtatshme për perceptimin njerëzor, çdo sekuencë unike e numrave zëvendësohet me simbolin përkatës kur shfaqet.

Një nga sistemet për lidhjen e kodeve binare me karakteret e printueshme dhe të kontrollit është

Në nivelin aktual të zhvillimit të teknologjisë kompjuterike, përdoruesi nuk kërkohet të dijë kodin e çdo simboli specifik. Sidoqoftë, një kuptim i përgjithshëm se si kryhet kodimi është jashtëzakonisht i dobishëm, dhe për disa kategori specialistësh madje i nevojshëm.

Krijimi i ASCII

Në formën e tij origjinale, kodimi u zhvillua në 1963 dhe më pas u përditësua dy herë brenda 25 viteve.

Në versionin origjinal, tabela e karaktereve ASCII përfshinte 128 karaktere, më vonë u shfaq një version i zgjeruar, ku u ruajtën 128 karakteret e para dhe karakteret që mungonin më parë iu caktuan kodeve me bitin e tetë të përfshirë.

Për shumë vite, ky kodim ka qenë më i popullarizuari në botë. Në vitin 2006, Latin 1252 zuri pozitën udhëheqëse, dhe nga fundi i 2007 e deri më sot, Unicode ka mbajtur me vendosmëri pozicionin drejtues.

Përfaqësimi kompjuterik ASCII

Çdo karakter ASCII ka kodin e tij prej 8 karakteresh që përfaqësojnë zero ose një. Numri minimal në një paraqitje të tillë është zero (tetë zero në sistemin binar), që është kodi i elementit të parë në tabelë.

Dy kode në tabelë u rezervuan për kalimin midis standardit US-ASCII dhe versionit të tij kombëtar.

Pasi ASCII filloi të përfshijë jo 128, por 256 karaktere, një variant i kodimit u përhap gjerësisht, në të cilin versioni origjinal i tabelës u ruajt në 128 kodet e para me një bit të 8-të zero. Shenjat e shkrimit kombëtar ruheshin në gjysmën e sipërme të tabelës (pozicionet 128-255).

Përdoruesi nuk ka nevojë të dijë drejtpërdrejt kodet e karaktereve ASCII. Zakonisht mjafton që një zhvillues softuerësh të dijë numrin e një elementi në një tabelë në mënyrë që të llogarisë kodin e tij duke përdorur një sistem binar, nëse është e nevojshme.

Gjuha ruse

Pas zhvillimit të kodimeve për gjuhët skandinave, kineze, koreane, greqisht, etj në fillim të viteve 70, edhe Bashkimi Sovjetik filloi të krijojë versionin e tij. Së shpejti, u zhvillua një version i kodimit 8-bit i quajtur KOI8, i cili ruan 128 kodet e para të karaktereve ASCII dhe cakton të njëjtin numër pozicionesh për shkronjat e alfabetit kombëtar dhe karaktere shtesë.

Para prezantimit të Unicode, KOI8 dominonte segmentin rus të internetit. Kishte opsione kodimi për alfabetin rus dhe ukrainas.

Problemet ASCII

Meqenëse numri i elementeve edhe në tabelën e zgjeruar nuk i kalonte 256, nuk ekzistonte mundësia e vendosjes së disa skripteve të ndryshme në një kodim. Në vitet '90, problemi "crocozyabr" u shfaq në Runet, kur tekstet e shtypura me karaktere ruse ASCII u shfaqën gabimisht.

Problemi ishte se kodet e varianteve të ndryshme ASCII nuk përputheshin me njëri-tjetrin. Kujtoni që pozicionet 128-255 mund të përmbajnë karaktere të ndryshme dhe kur ndryshoni një kodim cirilik në një tjetër, të gjitha shkronjat e tekstit u zëvendësuan me të tjera që kishin një numër identik në një version të ndryshëm të kodimit.

Gjendja e tanishme

Me ardhjen e Unicode, popullariteti i ASCII ra ndjeshëm.

Arsyeja për këtë qëndron në faktin se kodimi i ri bëri të mundur akomodimin e shenjave të pothuajse të gjitha gjuhëve të shkruara. Në këtë rast, 128 karakteret e para ASCII korrespondojnë me të njëjtat karaktere në Unicode.

Në vitin 2000, ASCII ishte kodimi më i popullarizuar në internet dhe përdorej në 60% të faqeve të internetit të indeksuara nga Google. Deri në vitin 2012, pjesa e faqeve të tilla kishte rënë në 17%, dhe Unicode (UTF-8) zuri vendin e kodimit më të njohur.

Kështu, ASCII është një pjesë e rëndësishme e historisë së teknologjisë së informacionit, por përdorimi i tij në të ardhmen shihet si jopremtues.

Unicode (në anglisht Unicode) është një standard kodimi i karaktereve. E thënë thjesht, kjo është një tabelë e korrespondencës së karaktereve të tekstit (, shkronja, elementet e pikësimit) kodet binare. Kompjuteri kupton vetëm sekuencën e zeros dhe njëshit. Në mënyrë që ai të dijë se çfarë saktësisht duhet të shfaqë në ekran, është e nevojshme të caktohet një numër unik për secilin personazh. Në vitet tetëdhjetë, karakteret u koduan në një bajt, domethënë në tetë bit (çdo bit është 0 ose 1). Kështu, rezultoi se një tabelë (aka kodim ose grup) mund të mbajë vetëm 256 karaktere. Kjo mund të mos mjaftojë as për një gjuhë. Prandaj, u shfaqën shumë kodime të ndryshme, konfuzioni me të cilin shpesh çonte në faktin se në vend të tekstit të lexueshëm, në ekran u shfaqën disa krakozyabry të çuditshme. Kërkohej një standard i vetëm, i cili u bë Unicode. Kodimi më i përdorur është UTF-8 (Unicode Transformation Format), i cili përdor 1 deri në 4 bajt për të shfaqur një karakter.

Simbolet

Karakteret në tabelat Unicode numërohen me numra heksadecimal. Për shembull, shkronja e madhe cirilike M është caktuar U + 041C. Kjo do të thotë se ai qëndron në kryqëzimin e rreshtit 041 dhe kolonës C. Ju thjesht mund ta kopjoni dhe më pas ta ngjisni diku. Për të mos gërmuar nëpër një listë shumë kilometrash, duhet të përdorni kërkimin. Duke shkuar në faqen e simboleve, do të shihni numrin e tij në Unicode dhe mënyrën se si është vizatuar në fonte të ndryshme. Ju gjithashtu mund ta futni vetë shenjën në shiritin e kërkimit, edhe nëse në vend të tij vizatohet një katror, ​​të paktën për të gjetur se çfarë ishte. Gjithashtu, në këtë faqe ka grupe të veçanta (dhe - të rastësishme) të të njëjtit lloj ikonash, të mbledhura nga seksione të ndryshme, për lehtësinë e përdorimit.

Standardi Unicode është ndërkombëtar. Ai përfshin shenja nga pothuajse të gjitha shkrimet në botë. Përfshirë ato që nuk përdoren më. Hieroglifet egjiptiane, runat gjermanike, shkrimet maja, kuneiformat dhe alfabetet e shteteve antike. Paraqiten dhe përcaktimi i masave dhe peshave, notimi muzikor, konceptet matematikore.

Vetë Konsorciumi Unicode nuk shpik personazhe të rinj. Në tabela shtohen ato ikona që gjejnë aplikimin e tyre në shoqëri. Për shembull, shenja rubla u përdor në mënyrë aktive për gjashtë vjet përpara se të shtohej në Unicode. Piktogramet emoji (emoticons) gjithashtu u përdorën gjerësisht për herë të parë në Japoni dhe përpara se të përfshiheshin në kodim. Por markat tregtare dhe logot e kompanisë nuk shtohen në parim. Madje po aq e zakonshme sa Apple Apple apo flamuri i Windows. Sot, në versionin 8.0, janë të koduara rreth 120 mijë karaktere.

Simbolet e mbivendosjes

Karakteri BS (backspace) lejon printerin të mbishkruajë një karakter. Në ASCII, ishte parashikuar shtimi i diakritikëve në shkronja në këtë mënyrë, për shembull:

  • a BS "→ á
  • a BS `→ à
  • a BS ^ → â
  • o BS / → ø
  • c BS, → ç
  • n BS ~ → ñ

shënim: në shkronjat e vjetra, apostrofi "ishte vizatuar me një pjerrësi në të majtë, dhe tilda ~ u zhvendos lart, në mënyrë që ato të përshtaten vetëm me rolin e akut dhe të tildës sipër.

Nëse i njëjti simbol mbivendoset në një karakter, atëherë fitohet efekti i një fonti të theksuar, dhe nëse një nënvizim mbivendoset mbi karakterin, atëherë fitohet teksti i nënvizuar.

  • a BS a → a
  • a BS _ → a

shënim: kjo përdoret, për shembull, në sistemin e ndihmës mashkullore.

Variantet kombëtare të ASCII

Standardi ISO 646 (ECMA-6) ofron mundësinë e vendosjes së karaktereve kombëtare në vend @ [ \ ] ^ ` { | } ~ ... Përveç kësaj, në vend # mund të akomodohen £ , dhe në vend $ - ¤ ... Ky sistem është i përshtatshëm për gjuhët evropiane ku nevojiten vetëm disa karaktere shtesë. Versioni ASCII pa karaktere kombëtare quhet US-ASCII, ose "Versioni i referencës ndërkombëtare".

Më pas, doli të ishte më i përshtatshëm përdorimi i kodimeve 8-bit (faqet e kodit), ku gjysma e poshtme e tabelës së kodit (0-127) është e zënë nga karakteret US-ASCII, dhe pjesa e sipërme (128-255) është i zënë nga karaktere shtesë, duke përfshirë një grup karakteresh kombëtare. Kështu, gjysma e sipërme e tabelës ASCII, para miratimit të gjerë të Unicode, u përdor në mënyrë aktive për të përfaqësuar karaktere të lokalizuara, shkronja të gjuhës lokale. Mungesa e një standardi të unifikuar për vendosjen e karaktereve cirilike në tabelën ASCII shkaktoi shumë probleme me kodimet (KOI-8, Windows-1251 dhe të tjerët). Gjuhët e tjera me shkrim jo-latin gjithashtu vuanin nga prania e disa kodimeve të ndryshme.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. NUL SOM EOA MVZ EQT WRU RU ZILE BKSP Ht LF VT FF CR KËSHTU QË SI
1. DC 0 DC 1 DC 2 DC 3 DC 4 GABIM SINkronizimi LEM S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7
2.
3.
4. BLANK ! " # $ % & " ( ) * + , - . /
5. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
6.
7.
8.
9.
A. @ A B C D E F G H Unë J K L M N O
B. P P R S T U V W X Y Z [ \ ]
C.
D.
E. a b c d e f g h i j k l m n o
F. fq q r s t u v w x y z ESC DEL

Në ata kompjuterë ku njësia minimale e adresueshme e memories ishte një fjalë 36-bit, fillimisht u përdorën karaktere 6-bit (1 fjalë = 6 karaktere). Pas kalimit në ASCII në kompjuterë të tillë, ata filluan të vendosnin ose 5 karaktere shtatë-bitësh në një fjalë (1 bit mbeti i tepërt), ose 4 karaktere nëntë-bitësh.

Kodet ASCII përdoren gjithashtu për të identifikuar tastin e shtypur gjatë programimit. Për një tastierë standarde QWERTY, tabela e kodeve duket si kjo:

Artikujt kryesorë të lidhur