Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Në kontakt me
  • Tabela kryesore e dritareve të kodeve ascii. Kodimi ASCII (kodi standard amerikan për shkëmbimin e informacionit) - kodimi bazë i tekstit për latinisht

Tabela kryesore e dritareve të kodeve ascii. Kodimi ASCII (kodi standard amerikan për shkëmbimin e informacionit) - kodimi bazë i tekstit për latinisht

[Kodimi 8-bit: ASCII, KOI-8R dhe CP1251] Tabelat e para të grupeve të karaktereve të krijuara në SHBA nuk përdorën bitin e tetë në një bajt. Teksti u prezantua si një sekuencë bajtash, por biti i tetë nuk u mor parasysh (ai u përdor për qëllime shërbimi).

Standardi i pranuar përgjithësisht është bërë tabela ASCII(Kodi standard amerikan për shkëmbimin e informacionit). 32 karakteret e para ASCII (00 deri në 1F) u përdorën për karaktere që nuk mund të printohen. Ato ishin krijuar për të kontrolluar një pajisje printimi dhe të ngjashme. Pjesa tjetër - nga 20 në 7 F - janë karaktere normale (të printueshme).

Tabela 1 - Kodimi ASCII

dhjetorHekstetorCharPërshkrim
0 0 000 i pavlefshëm
1 1 001 fillimi i titullit
2 2 002 fillimi i tekstit
3 3 003 fundi i tekstit
4 4 004 fundi i transmetimit
5 5 005 hetim
6 6 006 pranoj
7 7 007 zile
8 8 010 backspace
9 9 011 skedë horizontale
10 A 012 linjë e re
11 B 013 skedë vertikale
12 C 014 faqe e re
13 D 015 kthim ngarkese
14 E 016 zhvendosja jashtë
15 F 017 zhvendosje brenda
16 10 020 ikja e lidhjes së të dhënave
17 11 021 kontrolli i pajisjes 1
18 12 022 kontrolli i pajisjes 2
19 13 023 kontrolli i pajisjes 3
20 14 024 kontrolli i pajisjes 4
21 15 025 pranimi negativ
22 16 026 boshe sinkron
23 17 027 fundi i trans. bllokoj
24 18 030 anuloni
25 19 031 fundi i mesëm
26 1A 032 zëvendësues
27 1B 033 arratisje
28 1C 034 ndarës i skedarëve
29 1D 035 ndarës grupi
30 1E 036 ndarës rekord
31 1F 037 ndarës njësi
32 20 040 hapësirë
33 21 041 !
34 22 042 "
35 23 043 #
36 24 044 $
37 25 045 %
38 26 046 &
39 27 047 "
40 28 050 (
41 29 051 )
42 2A 052 *
43 2B 053 +
44 2C 054 ,
45 2D 055 -
46 2E 056 .
47 2F 057 /
48 30 060 0
49 31 061 1
50 32 062 2
51 33 063 3
52 34 064 4
53 35 065 5
54 36 066 6
55 37 067 7
56 38 070 8
57 39 071 9
58 3A 072 :
59 3B 073 ;
60 3C 074 <
61 3D 075 =
62 3E 076 >
63 3F 077 ?
dhjetorHekstetorChar
64 40 100 @
65 41 101 A
66 42 102 B
67 43 103 C
68 44 104 D
69 45 105 E
70 46 106 F
71 47 107 G
72 48 110 H
73 49 111 Unë
74 4A 112 J
75 4B 113 K
76 4C 114 L
77 4D 115 M
78 4E 116 N
79 4F 117 O
80 50 120 P
81 51 121 P
82 52 122 R
83 53 123 S
84 54 124 T
85 55 125 U
86 56 126 V
87 57 127 W
88 58 130 X
89 59 131 Y
90 5A 132 Z
91 5B 133 [
92 5C 134 \
93 5D 135 ]
94 5E 136 ^
95 5F 137 _
96 60 140 `
97 61 141 a
98 62 142 b
99 63 143 c
100 64 144 d
101 65 145 e
102 66 146 f
103 67 147 g
104 68 150 h
105 69 151 i
106 6A 152 j
107 6B 153 k
108 6C 154 l
109 6D 155 m
110 6E 156 n
111 6F 157 o
112 70 160 fq
113 71 161 q
114 72 162 r
115 73 163 s
116 74 164 t
117 75 165 u
118 76 166 v
119 77 167 w
120 78 170 x
121 79 171 y
122 7A 172 z
123 7B 173 {
124 7C 174 |
125 7D 175 }
126 7E 176 ~
127 7F 177 DEL

Siç mund ta shihni lehtësisht, ky kodim përmban vetëm shkronja latine dhe ato që përdoren në anglisht. Ekzistojnë gjithashtu simbole aritmetike dhe të tjera shërbimi. Por nuk ka shkronja ruse, madje as shkronja të veçanta latine për gjermanishten apo frëngjishten. Kjo është e lehtë për t'u shpjeguar - kodimi u zhvillua posaçërisht si një standard amerikan. Kur kompjuterët filluan të përdoren në të gjithë botën, u bë i nevojshëm kodimi i simboleve të tjera.

Për këtë, u vendos që të përdoret biti i tetë në çdo bajt. Kështu, 128 vlera të tjera ishin në dispozicion (nga 80 në FF), të cilat mund të përdoren për të koduar karakteret. E para nga tabelat me tetë bit është "ASCII e zgjeruar" ( ASCII i zgjeruar) - përfshinte variante të ndryshme të karaktereve latine të përdorura në disa gjuhë të Evropës Perëndimore. Ai gjithashtu përmbante simbole të tjera shtesë, duke përfshirë pseudografikë.

Karakteret pseudografike lejojnë, duke shfaqur vetëm karaktere teksti, të japin njëfarë pamjeje grafike. Për shembull, programi për menaxhimin e skedarëve FAR Manager funksionon me ndihmën e pseudografikës.

Nuk kishte shkronja ruse në tabelën e zgjeruar ASCII. Në Rusi (ish BRSS) dhe në shtetet e tjera, u krijuan kodimet e tyre, të cilat bënë të mundur përfaqësimin e karaktereve specifike "kombëtare" në skedarë teksti 8-bit - shkronja latine të gjuhëve polake dhe çeke, cirilike (përfshirë shkronjat ruse ) dhe alfabete të tjera.

Në të gjitha kodimet që janë bërë të përhapura, 127 karakteret e para (d.m.th., vlerat e bajtit me bitin e tetë të barabartë me 0) përkojnë me ASCII. Kështu, një skedar ASCII funksionon në cilindo nga këto kodime; shkronjat e gjuhës angleze përfaqësohen në të njëjtën mënyrë.

Organizimi ISO(Organizata Ndërkombëtare e Standardizimit) miratoi një grup standardesh ISO 8859... Ai përcakton kodimet 8-bit për grupe të ndryshme gjuhësh. Pra, ISO 8859-1 është Extended ASCII, një tabelë për Shtetet e Bashkuara dhe Evropën Perëndimore. Dhe ISO 8859-5 është një tabelë për cirilik (përfshirë rusishten).

Megjithatë, për arsye historike, kodimi ISO 8859-5 nuk ka arritur. Në realitet, kodimet e mëposhtme përdoren për gjuhën ruse:

Kodi Faqe 866 ( CP866), i njohur si "DOS", i njohur si "kodimi alternativ GOST". U përdor gjerësisht deri në mesin e viteve '90; tani përdoret në një masë të kufizuar. Praktikisht nuk përdoret për shpërndarjen e teksteve në internet.
- KOI-8. Zhvilluar në vitet '70 dhe '80. Është një standard përgjithësisht i pranuar për transmetimin e mesazheve postare në internetin rus. Përdoret gjithashtu gjerësisht në sistemet operative të familjes Unix, duke përfshirë Linux. Versioni KOI-8, i krijuar për gjuhën ruse, quhet KOI-8R; ka versione për gjuhë të tjera cirilike (për shembull, KOI8-U është një opsion për gjuhën ukrainase).
- Kodi Faqe 1251, CP1251, Windows-1251. Zhvilluar nga Microsoft për të mbështetur gjuhën ruse në Windows.

Avantazhi kryesor i CP866 ishte ruajtja e karaktereve pseudografike në të njëjtat vende si në Extended ASCII; prandaj, programet me tekst të huaj, për shembull, i famshëm Norton Commander, mund të funksiononin pa ndryshime. Në ditët e sotme CP866 përdoret për programet Windows që ekzekutohen në dritare me tekst ose në modalitetin e tekstit në ekran të plotë, duke përfshirë "FAR Manager".

Vitet e fundit, tekstet në CP866 janë mjaft të rralla (por përdoret për të koduar emrat e skedarëve rusë në Windows). Prandaj, do të ndalemi më në detaje në dy kodime të tjera - KOI-8R dhe CP1251.



Siç mund ta shihni, në tabelën e kodimit CP1251, shkronjat ruse janë rregulluar sipas rendit alfabetik (me përjashtim të shkronjës E). Ky rregullim e bën shumë të lehtë që programet kompjuterike të renditen sipas alfabetit.

Por në KOI-8R, renditja e shkronjave ruse duket të jetë e rastësishme. Por në fakt nuk është kështu.

Shumë programe të vjetra humbën bitin e 8-të gjatë përpunimit ose transmetimit të tekstit. (Tani programe të tilla praktikisht janë "shuar", por në fund të viteve '80 - fillimi i viteve '90 ato ishin të përhapura). Për të marrë një vlerë 7-bitësh nga një vlerë 8-bitësh, zbritni 8 nga shifra më e rëndësishme; për shembull E1 bëhet 61.

Tani krahasoni KOI-8R me tabelën ASCII (Tabela 1). Do të zbuloni se shkronjat ruse janë të lidhura qartë me ato latine. Nëse biti i tetë zhduket, shkronjat e vogla ruse kthehen në shkronja të mëdha latine dhe shkronjat e mëdha ruse kthehen në shkronja të vogla latine. Pra, E1 në KOI-8 është rusisht "A", ndërsa 61 në ASCII është latinisht "a".

Pra, KOI-8 ju lejon të ruani lexueshmërinë e tekstit rus duke humbur bitin e 8-të. "Përshëndetje të gjithëve" bëhet "pRIWET WSEM".

Kohët e fundit, si rendi alfabetik i karaktereve në tabelën e kodimit ashtu edhe lexueshmëria me humbjen e bitit të 8-të kanë humbur rëndësinë e tyre vendimtare. Biti i tetë në kompjuterët modernë nuk humbet as gjatë transmetimit dhe as gjatë përpunimit. Renditja sipas rendit alfabetik bazohet në kodim, dhe jo vetëm duke krahasuar kodet. (Nga rruga, kodet CP1251 nuk janë plotësisht alfabetike - shkronja E nuk është në vendin e saj).

Për shkak të faktit se ekzistojnë dy kodime të zakonshme, kur punoni me internetin (mail, shfletimi i faqeve në internet), ndonjëherë mund të shihni një grup të pakuptimtë shkronjash në vend të tekstit rus. Për shembull, "Unë jam SBUFEMHEL". Këto janë vetëm fjalët "me respekt"; por ato ishin të koduara në kodimin CP1251, dhe kompjuteri deshifroi tekstin sipas tabelës KOI-8. Nëse të njëjtat fjalë ishin, përkundrazi, të koduara në KOI-8, dhe kompjuteri deshifroi tekstin sipas tabelës CP1251, rezultati do të jetë "У ХЧБЦЕОЙЕН".

Ndonjëherë ndodh që kompjuteri të deshifrojë fare shkronjat në gjuhën ruse sipas një tabele që nuk është menduar për gjuhën ruse. Pastaj, në vend të shkronjave ruse, shfaqet një grup simbolesh të pakuptimta (për shembull, shkronja latine të gjuhëve të Evropës Lindore); ata shpesh quhen "crocozyabras".

Në shumicën e rasteve, programet moderne përballen me përcaktimin e kodimeve të dokumenteve të Internetit (email dhe faqe në internet). Por ndonjëherë ata "shkojnë keq", dhe më pas mund të shihni sekuenca të çuditshme të shkronjave ruse ose "krokozyabra". Si rregull, për të shfaqur tekstin real në ekran, mjafton të zgjidhni kodimin manualisht në menunë e programit.

Për artikullin, u përdor informacioni nga faqja http://open-office.edusite.ru/TextProcessor/p5aa1.html.

Materiali i marrë nga faqja:

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 latinishten

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, i cili ishte mjaft jo eufonik 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ëto 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. (skedari i shkronjave) 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ërkonte plotësisht me versionin bazë të Asuka (128 karaktere latine, numra dhe çdo gjë tjetër), e cila tregohet në pamjen e ekranit pak më lart, por pjesa e poshtme e tabelës me kodimin CP866 kishte pamjen e treguar në pamjen e ekranit. më poshtë dhe lejohet të kodojë 128 shenja të tjera (shkronja ruse dhe të gjitha llojet e pseudografikave):

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 vijës përkatëse me 9 dhe kolonës 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 ndodhen 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, shumë ishin të lodhur nga kjo situatë me shumë kodime dhe krakozyaberë vazhdimisht në zhvillim, 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ë faqen e internetit dhe dyqanin online

Sipas Unionit Ndërkombëtar të Telekomunikacionit, në vitin 2016, tre miliardë e gjysmë njerëz përdorën internetin me rregullsi të ndryshme. Shumica e tyre as që e mendojnë faktin se çdo mesazh i dërguar prej tyre nëpërmjet kompjuterëve apo pajisjeve celulare, si dhe tekstet që shfaqen në të gjitha llojet e monitorëve, në fakt janë kombinime të 0 dhe 1. Ky prezantim i informacionit quhet kodim. . Ai siguron dhe lehtëson shumë ruajtjen, përpunimin dhe transmetimin e tij. Në vitin 1963, u zhvillua kodimi amerikan ASCII, të cilit i kushtohet ky artikull.

Prezantimi i informacionit në kompjuter

Nga pikëpamja e çdo kompjuteri elektronik, teksti është një koleksion karakteresh individuale. Këto përfshijnë jo vetëm shkronjat, duke përfshirë shkronjat e mëdha, por edhe shenjat e pikësimit dhe numrat. Përveç kësaj, përdoren karaktere speciale "=", "&", "(" dhe hapësira.

Tërësia e simboleve që përbëjnë tekstin quhet alfabet dhe numri i tyre quhet kardinalitet (shënohet si N). Për ta përcaktuar atë, përdoret shprehja N = 2 ^ b, ku b është numri i biteve ose pesha informative e një karakteri të caktuar.

Është vërtetuar se një alfabet me një kapacitet prej 256 karakteresh mund të përfaqësojë të gjitha karakteret e nevojshme.

Meqenëse 256 është fuqia e 8-të e dy, pesha e çdo karakteri është 8 bit.

Njësia matëse prej 8 bitësh quhet 1 bajt, kështu që është zakon të thuhet se çdo karakter në një tekst të ruajtur në një kompjuter merr një bajt memorie.

Si bëhet kodimi

Çdo tekst futet në kujtesën e një kompjuteri personal me anë të tasteve të tastierës në të cilat janë shkruar numra, shkronja, shenja pikësimi dhe simbole të tjera. Ato transferohen në RAM në një kod binar, domethënë, çdo karakter shoqërohet me një kod dhjetor të njohur për njerëzit, nga 0 në 255, që korrespondon me një kod binar - nga 00000000 në 11111111.

Kodimi i karaktereve byte-pas-byte i lejon procesorit të tekstit të aksesojë secilin karakter veç e veç. Në të njëjtën kohë, 256 karaktere janë të mjaftueshme për të përfaqësuar çdo informacion të karakterit.

Kodimi i karaktereve ASCII

Kjo shkurtesë në anglisht qëndron për kodin për shkëmbimin e informacionit.

Edhe në agimin e kompjuterizimit, u bë e qartë se ju mund të gjeni një shumëllojshmëri të gjerë mënyrash për të koduar informacionin. Megjithatë, për të transferuar informacion nga një kompjuter në tjetrin, kërkohej të zhvillohej një standard i vetëm. Pra, në vitin 1963, një tabelë kodimi ASCII u shfaq në Shtetet e Bashkuara. Në të, çdo simbol i alfabetit të kompjuterit shoqërohet me numrin e tij rendor në paraqitjen binar. Fillimisht, ASCII u përdor vetëm në Shtetet e Bashkuara dhe më vonë u bë standardi ndërkombëtar për PC.

Kodet ASCII ndahen në 2 pjesë. Vetëm gjysma e parë e kësaj tabele konsiderohet Standard Ndërkombëtar. Ai përfshin karaktere me numra rendorë nga 0 (i koduar si 00000000) deri në 127 (kodi 01111111).

Numër serik

Kodimi i tekstit ASCII

Simboli

0000 0000 - 0001 1111

Karakteret me N nga 0 në 31 quhen karaktere kontrolli. Funksioni i tyre është të "udhëzojnë" procesin e shfaqjes së tekstit në një monitor ose pajisje printimi, duke dhënë një sinjal zanor etj.

0010 0000 - 0111 1111

Karaktere me N nga 32 në 127 (pjesa standarde e tabelës) - shkronja të mëdha dhe të vogla të alfabetit latin, numra 10-shifror, shenja pikësimi, si dhe kllapa të ndryshme, simbole tregtare dhe të tjera. Karakteri 32 tregon një hapësirë.

1000 0000 - 1111 1111

Karakteret me N nga 128 në 255 (pjesë alternative e tabelës ose faqe kodi) mund të kenë variante të ndryshme, secila prej të cilave ka numrin e vet. Faqja e kodit përdoret për të specifikuar alfabetet kombëtare që janë të ndryshëm nga latinishtja. Në veçanti, është me ndihmën e tij që kryhet kodimi ASCII për karakteret ruse.

Në tabelën e kodimit, shkronjat e mëdha dhe ndiqni njëra pas tjetrës sipas rendit alfabetik, dhe numrat - sipas renditjes rritëse të vlerave. Ky parim vlen edhe për alfabetin rus.

Personazhet e kontrollit

Tabela e kodimit ASCII u krijua fillimisht për të marrë dhe transmetuar informacion në një pajisje të tillë që nuk është përdorur për një kohë të gjatë, siç është teletypi. Në këtë drejtim, në grupin e karaktereve janë përfshirë karaktere jo të printueshme, të përdorura si komanda për të kontrolluar këtë pajisje. Komanda të ngjashme u përdorën në metoda të tilla të mesazheve para kompjuterike si kodi Morse, etj.

Karakteri më i zakonshëm "teletipi" është NUL (00, "zero"). Përdoret ende në shumicën e gjuhëve programuese deri më sot, duke treguar një terminator të linjës.

Ku përdoret kodimi ASCII?

Kodi standard i SHBA-së nevojitet për më shumë sesa thjesht futjen e informacionit të tekstit nga tastiera. Përdoret gjithashtu në grafikë. Në mënyrë të veçantë, në ASCII Art Maker, imazhet e zgjerimeve të ndryshme përfaqësojnë një spektër karakteresh ASCII.

Produkte të tilla janë dy llojesh: ato kryejnë funksionin e redaktuesve grafikë duke shndërruar imazhet në tekst dhe duke konvertuar "fotografitë" në grafikë ASCII. Për shembull, emoticon i famshëm është një shembull kryesor i një karakteri kodues.

ASCII mund të përdoret gjithashtu kur krijoni një dokument HTML. Në këtë rast, mund të futni një grup të caktuar karakteresh dhe kur shikoni faqen, në ekran do të shfaqet një karakter që korrespondon me këtë kod.

ASCII është gjithashtu i nevojshëm për krijimin e faqeve shumëgjuhëshe, pasi karakteret që nuk përfshihen në një tabelë specifike kombëtare zëvendësohen me kode ASCII.

Disa veçori

Për të koduar informacionin e tekstit në kodimin ASCII, fillimisht u përdorën 7 bit (njëri mbeti bosh), por sot funksionon si 8-bit.

Shkronjat në kolonën e sipërme dhe të poshtme ndryshojnë nga njëra-tjetra vetëm me një bit të vetëm. Kjo redukton shumë kompleksitetin e kontrollit.

Përdorimi i ASCII në Microsoft Office

Nëse është e nevojshme, ky lloj kodimi teksti mund të përdoret në redaktuesit e tekstit të Microsoft si Notepad dhe Office Word. Sidoqoftë, kur shkruani në këtë rast, nuk do të jetë e mundur të përdorni disa funksione. Për shembull, ju nuk do të jeni në gjendje të bëni bold, sepse ASCII ruan vetëm kuptimin e informacionit, duke injoruar pamjen dhe formën e tij të përgjithshme.

Standardizimi

Organizata ISO ka miratuar standardet ISO 8859. Ky grup përcakton kodimet me tetë bit për grupe të ndryshme gjuhësore. Në mënyrë të veçantë, ISO 8859-1 është Extended ASCII, e cila është një tabelë për Shtetet e Bashkuara dhe Evropën Perëndimore. Dhe ISO 8859-5 është një tabelë e përdorur për alfabetin cirilik, duke përfshirë gjuhën ruse.

Për një sërë arsyesh historike, standardi ISO 8859-5 ka qenë në përdorim për një kohë shumë të shkurtër.

Për gjuhën ruse, për momentin, përdoren në të vërtetë kodimet:

  • CP866 (Kodi Faqe 866) ose DOS, i cili shpesh quhet kodimi alternativ GOST. Ajo u përdor në mënyrë aktive deri në mesin e viteve '90 të shekullit të kaluar. Për momentin, praktikisht nuk është përdorur.
  • KOI-8. Kodimi u zhvillua në vitet 1970-80, dhe për momentin është një standard i pranuar përgjithësisht për mesazhet postare në Runet. Përdoret gjerësisht në OS të familjes Unix, duke përfshirë Linux. Versioni "rus" i KOI-8 quhet KOI-8R. Përveç kësaj, ka versione për gjuhë të tjera cirilike, si për shembull ukrainisht.
  • Kodi Faqe 1251 (CP 1251, Windows - 1251). Zhvilluar nga Microsoft për të ofruar mbështetje për gjuhën ruse në mjedisin Windows.

Avantazhi kryesor i standardit të parë CP866 ishte ruajtja e karaktereve pseudografike në të njëjtat pozicione si në Extended ASCII. Kjo bëri të mundur ekzekutimin pa ndryshime të programeve tekstuale të prodhuara nga jashtë, si p.sh. Norton Commander i mirënjohur. Për momentin, CP866 përdoret për programet e zhvilluara nën Windows që funksionojnë në modalitetin e tekstit në ekran të plotë ose në dritaret e tekstit, duke përfshirë FAR Manager.

Tekstet kompjuterike të shkruara në kodimin CP866 janë mjaft të rralla kohët e fundit, por është pikërisht ky kodim që përdoret për emrat e skedarëve rusë në Windows.

"Unicode"

Për momentin, është ky kodim që ka marrë përdorimin më të përhapur. Kodet Unicode ndahen në zona. E para (U + 0000 në U + 007F) përfshin karaktere ASCII me kode. Kjo pasohet nga zonat e shenjave të shkrimeve të ndryshme kombëtare, si dhe shenjat e pikësimit dhe simbolet teknike. Përveç kësaj, disa nga kodet "Unicode" janë të rezervuara në rast se ka nevojë për të përfshirë karaktere të reja në të ardhmen.

Tani e dini se në ASCII, çdo karakter përfaqësohet si një kombinim i 8 zerave dhe njësheve. Për jo-specialistët, ky informacion mund të duket i panevojshëm dhe jo interesant, por a nuk doni të dini se çfarë po ndodh "në trurin" e kompjuterit tuaj?!

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 atë dhe pastaj 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.

Bashkësia e karaktereve me të cilat shkruhet teksti quhet alfabeti.

Numri i karaktereve në alfabet është i tij pushtet.

Formula për përcaktimin e sasisë së informacionit: N = 2 b,

ku N është kardinaliteti i alfabetit (numri i karaktereve),

b - numri i biteve (pesha informative e karakterit).

Alfabeti me një kapacitet prej 256 karakteresh mund të strehojë pothuajse të gjitha karakteret e nevojshme. Ky alfabet quhet mjaftueshëm.

Sepse 256 = 2 8, atëherë pesha e 1 karakteri është 8 bit.

Njësia 8-bitëshe u emërua 1 bajt:

1 bajt = 8 bit.

Kodi binar i çdo karakteri në tekstin kompjuterik merr 1 bajt memorie.

Si paraqitet informacioni i tekstit në memorien e kompjuterit?

Lehtësia e kodimit të karaktereve me bajt është e dukshme, pasi një bajt është pjesa më e vogël e adresueshme e memories dhe, për rrjedhojë, procesori mund të aksesojë çdo karakter veç e veç, duke kryer përpunimin e tekstit. Nga ana tjetër, 256 karaktere është një numër mjaft i mjaftueshëm për të përfaqësuar një shumëllojshmëri të gjerë të informacionit të karaktereve.

Tani lind pyetja, çfarë lloj kodi binar tetë-bit të lidhet me secilin karakter.

Është e qartë se kjo është një çështje e kushtëzuar, ju mund të dilni me shumë metoda kodimi.

Të gjithë karakteret e alfabetit të kompjuterit numërohen nga 0 deri në 255. Çdo numër i korrespondon një kodi binar tetëshifror nga 00000000 deri në 11111111. Ky kod është thjesht numri rendor i karakterit në sistemin binar.

Tabela në të cilën të gjithë karakteret e alfabetit të kompjuterit janë caktuar numra serialë quhet tabela e kodimit.

Për lloje të ndryshme kompjuterash përdoren tabela të ndryshme kodimi.

Standardi ndërkombëtar për PC është bërë tabela ASCII(lexo asci) (Kodi standard amerikan për shkëmbimin e informacionit).

Tabela ASCII është e ndarë në dy pjesë.

Standardi ndërkombëtar është vetëm gjysma e parë e tabelës, d.m.th. simbolet me numra nga 0 (00000000), deri në 127 (01111111).

Struktura e tabelës koduese ASCII

Numër serik

Kodi

Simboli

0 - 31

00000000 - 00011111

Simbolet me numra nga 0 në 31 zakonisht quhen karaktere kontrolli.
Funksioni i tyre është të kontrollojnë procesin e shfaqjes së tekstit në ekran ose të printimit, dhënien e një sinjali zanor, shënimin e tekstit, etj.

32 - 127

00100000 - 01111111

Pjesa standarde e tabelës (anglisht). Këtu përfshihen shkronjat e vogla dhe të mëdha të alfabetit latin, shifrat dhjetore, shenjat e pikësimit, të gjitha llojet e kllapave, simbolet tregtare dhe të tjera.
Karakteri 32 është një hapësirë, d.m.th. pozicion bosh në tekst.
Të gjitha të tjerat pasqyrohen në shenja të caktuara.

128 - 255

10000000 - 11111111

Pjesa alternative e tabelës (rusisht).
Gjysma e dytë e tabelës së kodeve ASCII, e quajtur faqja e kodit (128 kode, duke filluar nga 10000000 dhe duke përfunduar me 11111111), mund të ketë variante të ndryshme, secili variant ka numrin e vet.
Faqja e kodit përdoret kryesisht për të akomoduar alfabete kombëtare të ndryshme nga latinishtja. Në kodimet kombëtare ruse, kjo pjesë e tabelës përmban simbole të alfabetit rus.

Gjysma e parë e tabelës ASCII


Unë tërheq vëmendjen tuaj për faktin se në tabelën e kodimit, shkronjat (të mëdha dhe të vogla) janë renditur sipas rendit alfabetik, dhe numrat renditen në rendin rritës të vlerave. Ky respektim i rendit leksikografik në renditjen e karaktereve quhet parimi i kodimit sekuencial të alfabetit.

Për shkronjat e alfabetit rus, respektohet edhe parimi i kodimit sekuencial.

Gjysma e dytë e tabelës ASCII


Fatkeqësisht, aktualisht ekzistojnë pesë kodime të ndryshme cirilike (KOI8-R, Windows. MS-DOS, Macintosh dhe ISO). Për shkak të kësaj, shpesh lindin probleme me transferimin e tekstit rus nga një kompjuter në tjetrin, nga një sistem softuer në tjetrin.

Kronologjikisht, një nga standardet e para për kodimin e shkronjave ruse në kompjuter ishte KOI8 ("Kodi i shkëmbimit të informacionit, 8-bit"). Ky kodim u përdor përsëri në vitet '70 në kompjuterët e serisë kompjuterike ES, dhe nga mesi i viteve '80 filloi të përdoret në versionet e para të rusifikuara të sistemit operativ UNIX.

Që nga fillimi i viteve '90, koha e dominimit të sistemit operativ MS DOS, kodimi CP866 mbetet ("CP" do të thotë "Faqja e kodit").

Kompjuterët Apple me Mac OS përdorin kodimin e tyre Mac.

Për më tepër, Organizata Ndërkombëtare për Standardizim (Organizata Ndërkombëtare e Standardeve, ISO) miratoi një kodim tjetër të quajtur ISO 8859-5 si standard për gjuhën ruse.

Aktualisht, kodimi më i zakonshëm është Microsoft Windows, i shkurtuar si CP1251.

Që nga fundi i viteve '90, problemi i standardizimit të kodimit të karaktereve është zgjidhur me futjen e një standardi të ri ndërkombëtar të quajtur Unicode... Ky është një kodim 16-bit d.m.th. cakton 2 bajt memorie për çdo karakter. Sigurisht, kjo dyfishon sasinë e memories së përdorur. Por nga ana tjetër, një tabelë e tillë kodesh lejon përfshirjen deri në 65536 karaktere. Specifikimi i plotë i standardit Unicode përfshin të gjitha alfabetet ekzistuese, të zhdukura dhe të krijuara artificialisht të botës, si dhe shumë simbole matematikore, muzikore, kimike dhe të tjera.

Le të përpiqemi të përdorim një tabelë ASCII për të imagjinuar se si do të duken fjalët në kujtesën e kompjuterit.

Paraqitja e brendshme e fjalëve në kujtesën e kompjuterit

Ndonjëherë ndodh që një tekst i përbërë nga shkronja të alfabetit rus, i marrë nga një kompjuter tjetër, nuk mund të lexohet - një lloj "korrizi" është i dukshëm në ekranin e monitorit. Kjo për faktin se kompjuterët përdorin kodime të ndryshme të karaktereve të gjuhës ruse.

Artikujt kryesorë të lidhur