Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • In contact cu
  • Tabelul pivot al ferestrelor codurilor ASCII. Codificare ASCII (cod standard american pentru schimbul de informații) - codificare de bază a textului pentru latină

Tabelul pivot al ferestrelor codurilor ASCII. Codificare ASCII (cod standard american pentru schimbul de informații) - codificare de bază a textului pentru latină

[Codări pe 8 biți: ASCII, KOI-8R și CP1251] Primele tabele de set de caractere create în SUA nu au folosit al optulea bit dintr-un octet. Textul a fost prezentat ca o secvență de octeți, dar al optulea bit nu a fost luat în considerare (a fost folosit în scopuri de service).

Standardul general acceptat a devenit tabelul ASCII(Codul American Standard pentru Schimbul de Informații). Primele 32 de caractere ASCII (de la 00 la 1F) au fost folosite pentru caracterele care nu pot fi imprimate. Au fost concepute pentru a controla un dispozitiv de imprimare și altele asemenea. Restul - de la 20 la 7F - sunt caractere normale (printabile).

Tabelul 1 - Codificare ASCII

DecHexoctCharDescriere
0 0 000 nul
1 1 001 începutul direcției
2 2 002 începutul textului
3 3 003 sfârşitul textului
4 4 004 sfârşitul transmisiei
5 5 005 Anchetă
6 6 006 recunoaște
7 7 007 clopot
8 8 010 backspace
9 9 011 filă orizontală
10 A 012 linie nouă
11 B 013 filă verticală
12 C 014 pagina noua
13 D 015 retur transport
14 E 016 schimbă afară
15 F 017 schimbă în
16 10 020 evadare a legăturii de date
17 11 021 controlul dispozitivului 1
18 12 022 controlul dispozitivului 2
19 13 023 controlul dispozitivului 3
20 14 024 controlul dispozitivului 4
21 15 025 recunoaștere negativă
22 16 026 inactiv sincron
23 17 027 sfârşitul trans. bloc
24 18 030 Anulare
25 19 031 sfârşitul mediei
26 1A 032 substitui
27 1B 033 evadare
28 1C 034 separator de fișiere
29 1D 035 separator de grup
30 1E 036 separator de înregistrări
31 1F 037 separator de unitate
32 20 040 spaţiu
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 ?
DecHexoctChar
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 eu
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 Q
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 p
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

După cum puteți vedea cu ușurință, această codificare conține doar litere latine și cele care sunt folosite în engleză. Există, de asemenea, simboluri aritmetice și alte simboluri de serviciu. Dar nu există litere rusești, sau chiar litere latine speciale pentru germană sau franceză. Acest lucru este ușor de explicat - codificarea a fost dezvoltată special ca standard american. Când computerele au început să fie folosite în întreaga lume, a devenit necesară codificarea altor simboluri.

Pentru aceasta, s-a decis folosirea celui de-al optulea bit din fiecare octet. Astfel, au fost disponibile încă 128 de valori (de la 80 la FF), care puteau fi folosite pentru a codifica caractere. Primul dintre tabelele de opt biți este „ASCII extins” ( ASCII extins) - a inclus diverse variante de caractere latine utilizate în unele limbi ale Europei de Vest. Conținea și alte simboluri suplimentare, inclusiv pseudo-grafice.

Caracterele pseudo-grafice permit, prin afișarea doar a caracterelor text, să ofere o oarecare aparență de grafică. De exemplu, programul de gestionare a fișierelor FAR Manager funcționează cu ajutorul pseudo-grafice.

Nu existau litere rusești în tabelul ASCII extins. În Rusia (fostă URSS) și în alte state, au fost create propriile codificări, care au făcut posibilă reprezentarea unor caractere „naționale” specifice în fișiere text pe 8 biți - litere latine ale limbilor poloneză și cehă, chirilice (inclusiv litere rusești ) și alte alfabete.

În toate codificările care s-au răspândit, primele 127 de caractere (adică valorile octeților cu al optulea bit egal cu 0) coincid cu ASCII. Astfel, un fișier ASCII funcționează în oricare dintre aceste codificări; literele limbii engleze sunt reprezentate la fel.

Organizare ISO(International Standardization Organization) a adoptat un grup de standarde ISO 8859... Acesta definește codificări pe 8 biți pentru diferite grupuri de limbi. Deci, ISO 8859-1 este ASCII extins, un tabel pentru Statele Unite și Europa de Vest. Și ISO 8859-5 este un tabel pentru chirilic (inclusiv rus).

Cu toate acestea, din motive istorice, codarea ISO 8859-5 nu a prins. În realitate, următoarele codificări sunt folosite pentru limba rusă:

Pagina de cod 866 ( CP866), alias „DOS”, alias „codare GOST alternativă”. A fost folosit pe scară largă până la mijlocul anilor 90; este acum folosit într-o măsură limitată. Practic nu este folosit pentru distribuirea de texte pe Internet.
- KOI-8. Dezvoltat în anii 70 și 80. Este un standard general acceptat pentru transmiterea mesajelor poștale pe internetul rusesc. De asemenea, este utilizat pe scară largă în sistemele de operare din familia Unix, inclusiv Linux. Se numește versiunea KOI-8, concepută pentru limba rusă KOI-8R; există versiuni pentru alte limbi chirilice (de exemplu, KOI8-U este o opțiune pentru limba ucraineană).
- Pagina de cod 1251, CP1251, Windows-1251. Dezvoltat de Microsoft pentru a sprijini limba rusă în Windows.

Principalul avantaj al CP866 a fost păstrarea caracterelor pseudo-grafice în aceleași locuri ca în ASCII extins; prin urmare, programele cu text străin, de exemplu, celebrul Norton Commander, ar putea funcționa fără modificări. În prezent, CP866 este utilizat pentru programele Windows care rulează în ferestre text sau în modul text pe întreg ecranul, inclusiv FAR Manager.

În ultimii ani, textele în CP866 sunt destul de rare (dar sunt folosite pentru a codifica numele fișierelor rusești în Windows). Prin urmare, ne vom opri mai detaliat asupra altor două codificări - KOI-8R și CP1251.



După cum puteți vedea, în tabelul de codificare CP1251, literele rusești sunt aranjate în ordine alfabetică (cu excepția, totuși, a literei E). Acest aranjament facilitează sortarea alfabetică a programelor de calculator.

Dar în KOI-8R, ordinea literelor rusești pare să fie aleatorie. Dar de fapt nu este.

Multe programe mai vechi au pierdut al 8-lea bit la procesarea sau transmiterea textului. (Acum, astfel de programe practic s-au „stins”, dar la sfârșitul anilor 80 - începutul anilor 90 erau răspândite). Pentru a obține o valoare de 7 biți dintr-o valoare de 8 biți, scădeți 8 din cifra cea mai semnificativă; de exemplu, E1 devine 61.

Acum comparați KOI-8R cu tabelul ASCII (Tabelul 1). Veți descoperi că literele rusești sunt clar aliniate cu cele latine. Dacă al optulea bit dispare, literele rusești mici se transformă în litere latine mari, iar literele rusești mari se transformă în litere latine mici. Deci, E1 în KOI-8 este rusă „A”, în timp ce 61 în ASCII este latină „a”.

Deci, KOI-8 vă permite să păstrați lizibilitatea textului rusesc în timp ce pierdeți al 8-lea bit. „Salut tuturor” devine „pRIWET WSEM”.

Recent, atât ordinea alfabetică a caracterelor din tabelul de codificare, cât și lizibilitatea cu pierderea celui de-al 8-lea bit și-au pierdut importanța decisivă. Al optulea bit în computerele moderne nu se pierde nici în timpul transmisiei, nici în timpul procesării. Sortarea în ordine alfabetică se bazează pe codificare și nu doar pe compararea codurilor. (Apropo, codurile CP1251 nu sunt complet alfabetice - litera E nu este la locul ei).

Datorită faptului că există două codificări comune, atunci când lucrați cu Internetul (e-mail, navigarea pe site-uri web), uneori puteți vedea un set de litere fără sens în loc de text rusesc. De exemplu, „Sunt SBUFEMHEL”. Acestea sunt doar cuvintele „cu respect”; dar au fost codificate în codificare CP1251, iar computerul a decodat textul conform tabelului KOI-8. Dacă aceleași cuvinte au fost, dimpotrivă, codificate în KOI-8, iar computerul a decodat textul conform tabelului CP1251, rezultatul va fi „У ХЧБЦЕОЙЕН”.

Uneori se întâmplă ca computerul să decripteze literele în limba rusă conform unui tabel care nu este destinat limbii ruse. Apoi, în loc de litere rusești, apare un set de simboluri fără sens (de exemplu, litere latine ale limbilor est-europene); ele sunt adesea numite „crocozyabras”.

În cele mai multe cazuri, programele moderne fac față singure cu determinarea codificărilor documentelor de pe Internet (e-mailuri și pagini web). Dar uneori „raușesc” și apoi puteți vedea secvențe ciudate de litere rusești sau „krokozyabra”. De regulă, pentru a afișa text real pe ecran, este suficient să selectați codarea manual în meniul programului.

Pentru articol s-au folosit informațiile de pe pagina http://open-office.edusite.ru/TextProcessor/p5aa1.html.

Material preluat de pe site:

Salutare dragi cititori ai site-ului blogului. Astăzi vom vorbi cu tine despre de unde provin krakozyabr-urile pe site și în programe, ce codificări de text există și care ar trebui folosite. Să aruncăm o privire mai atentă asupra istoriei dezvoltării lor, pornind de la ASCII de bază, precum și versiunile sale extinse CP866, KOI8-R, Windows 1251 și terminând cu codificări moderne ale consorțiului Unicode UTF 16 și 8.

Pentru unii, această informație poate părea de prisos, dar ați ști câte întrebări primesc cu privire la krakozyabrs (setul de caractere care nu poate fi citit). Acum voi avea ocazia să trimit pe toată lumea la textul acestui articol și să-mi găsesc independent jamburile. Ei bine, pregătiți-vă să absorbiți informațiile și încercați să urmăriți povestea.

ASCII - codificarea de bază a textului pentru alfabetul latin

Dezvoltarea codificărilor de text a avut loc concomitent cu formarea industriei IT, iar în acest timp au reușit să sufere destul de multe schimbări. Din punct de vedere istoric, totul a început cu EBCDIC, care nu era mai degrabă eufonic în pronunția rusă, ceea ce a făcut posibilă codificarea literelor din alfabetul latin, a cifrelor arabe și a semnelor de punctuație cu caractere de control.

Dar totuși, punctul de plecare pentru dezvoltarea codificărilor moderne de text este celebrul ASCII(Codul standard american pentru schimbul de informații, care în rusă este de obicei pronunțat „aski”). Descrie primele 128 de caractere utilizate cel mai frecvent de utilizatorii vorbitori de limba engleză - litere latine, cifre arabe și semne de punctuație.

Chiar și aceste 128 de caractere descrise în ASCII au inclus unele simboluri de serviciu cum ar fi paranteze, linii hash, asteriscuri etc. De fapt, tu însuți le poți vedea:

Aceste 128 de caractere din versiunea originală ASCII au devenit standardul, iar în orice altă codificare le veți întâlni cu siguranță și vor sta în această ordine.

Dar adevărul este că, cu ajutorul unui octet de informații, este posibil să se codifice nu 128, ci până la 256 de valori diferite (două la puterea lui opt este egală cu 256), prin urmare, după versiunea de bază a Asuka , a apărut o serie întreagă codificări ASCII extinse, în care, pe lângă 128 de caractere de bază, a fost posibilă codificarea simbolurilor codificării naționale (de exemplu, rusă).

Aici, poate, merită să spunem puțin mai multe despre sistemele de numere care sunt folosite în descriere. În primul rând, după cum știți cu toții, computerul funcționează doar cu numere în sistemul binar, și anume cu zerouri și unu („algebră booleană”, dacă cineva a mers la facultate sau la școală). , fiecare dintre ele fiind un 2 la putere, începând de la zero și până la doi în a șaptea:

Nu este greu de înțeles că într-o astfel de construcție pot exista doar 256 de combinații posibile de zerouri și unu.Este destul de simplu să convertiți un număr dintr-un sistem binar într-unul zecimal. Trebuie doar să aduni toate puterile a doi deasupra cărora există unele.

În exemplul nostru, acesta este 1 (2 la puterea zero) plus 8 (2 la puterea 3), plus 32 (2 la puterea a cincea), plus 64 (la a șasea), plus 128 (la a șaptea). Totalul obține 233 în notație zecimală. După cum puteți vedea, totul este foarte simplu.

Dar dacă te uiți cu atenție la tabelul cu caractere ASCII, vei vedea că acestea sunt reprezentate în codificare hexazecimală. De exemplu, un asterisc corespunde numărului hexazecimal 2A din Asuka. Probabil știi că în sistemul numeric hexazecimal, pe lângă cifrele arabe, se mai folosesc și litere latine de la A (înseamnă zece) la F (înseamnă cincisprezece).

Ei bine, pentru convertiți numărul binar în hexazecimal recurge la următoarea metodă simplă și intuitivă. Fiecare octet de informații este împărțit în două bucăți de patru biți, așa cum se arată în captura de ecran de mai sus. Acea. în fiecare jumătate de octet, numai șaisprezece valori (de la două până la a patra putere) pot fi codificate în binar, care poate fi ușor reprezentat ca număr hexazecimal.

Mai mult, în jumătatea stângă a octetului, va fi necesar să numărați din nou grade începând de la zero și nu așa cum se arată în captura de ecran. Drept urmare, prin niște calcule simple, obținem că numărul E9 este codificat în captură de ecran. Sper că cursul raționamentului meu și soluția acestui puzzle s-au dovedit a fi clare pentru tine. Ei bine, acum să continuăm, de fapt, să vorbim despre codificări de text.

Versiuni extinse de Asuka - codificări CP866 și KOI8-R cu pseudografice

Așadar, am început să vorbim despre ASCII, care a fost, parcă, un punct de plecare pentru dezvoltarea tuturor codificărilor moderne (Windows 1251, Unicode, UTF 8).

Inițial, conținea doar 128 de caractere din alfabetul latin, cifre arabe și altceva acolo, dar în versiunea extinsă a devenit posibil să se utilizeze toate cele 256 de valori care pot fi codificate într-un octet de informații. Acestea. a devenit posibil să adăugați simboluri ale literelor din limba dvs. la Aski.

Aici va fi necesar să divagăm încă o dată pentru a clarifica - de ce avem nevoie de codificări texte și de ce este atât de important. Simbolurile de pe ecranul computerului sunt formate pe baza a două lucruri - seturi de forme vectoriale (reprezentări) de tot felul de caractere (sunt în fișiere co) și un cod care vă permite să scoateți din acest set de forme vectoriale (font). fișier) exact simbolul care va trebui introdus în Locul corect.

Este clar că fonturile în sine sunt responsabile pentru formele vectoriale, dar sistemul de operare și programele utilizate în el sunt responsabile pentru codare. Acestea. orice text de pe computer va fi un set de octeți, fiecare dintre care codifică un singur caracter al acestui text.

Programul care afișează acest text pe ecran (editor de text, browser etc.), atunci când analizează codul, citește codarea următorului caracter și caută forma vectorială corespunzătoare în fișierul de font necesar, care este conectat pentru a afișa acest text. document text. Totul este simplu și banal.

Aceasta înseamnă că pentru a codifica orice caracter de care avem nevoie (de exemplu, din alfabetul național), trebuie îndeplinite două condiții - forma vectorială a acestui caracter trebuie să fie în fontul utilizat și acest caracter ar putea fi codificat în codificări ASCII extinse în un octet. Prin urmare, există o mulțime de astfel de opțiuni. Există mai multe varietăți de Asuka extins doar pentru codificarea caracterelor limbii ruse.

De exemplu, a apărut inițial CP866, în care se putea folosi caracterele alfabetului rus și era o versiune extinsă a ASCII.

Acestea. partea superioară a coincis complet cu versiunea de bază a lui Asuka (128 de caractere latine, numere și orice alte prostii), care este prezentată în captura de ecran de mai sus, dar deja partea inferioară a tabelului cu codificare CP866 avea vizualizarea indicată în captură de ecran. chiar dedesubt și li se permite să codifice alte 128 de semne (litere rusești și tot felul de pseudo-grafice):

Vedeți, în coloana din dreapta, numerele încep cu 8, pentru că numerele de la 0 la 7 se referă la partea de bază ASCII (vezi prima captură de ecran). Acea. litera rusă „M” din CP866 va avea codul 9C (se află la intersecția liniei corespunzătoare cu 9 și a coloanei cu numărul C în notație hexazecimală), care poate fi scris într-un octet de informații și dacă există un font potrivit cu caractere rusești, această literă este fără probleme va fi afișată în text.

De unde aceasta suma? pseudografic în CP866? Ideea este că această codificare pentru textul rusesc a fost dezvoltată în acei ani blăniți, când nu exista o asemenea răspândire a sistemelor de operare grafică ca acum. Și în Dos și în sistemele de operare cu text similare, pseudo-graficele au făcut posibilă diversificarea oarecum a designului textelor și, prin urmare, CP866 și toți ceilalți colegi din categoria versiunilor extinse ale Asuka abundă în el.

CP866 a fost distribuit de IBM, dar în plus, au fost dezvoltate o serie de codificări pentru caractere rusești, de exemplu, acest tip (ASCII extins) poate fi atribuit KOI8-R:

Principiul funcționării sale rămâne același cu cel al CP866 descris puțin mai devreme - fiecare caracter al textului este codificat cu un singur octet. Captura de ecran arată a doua jumătate a tabelului KOI8-R, de atunci prima jumătate este complet în concordanță cu Asuka de bază, care este afișată în prima captură de ecran din acest articol.

Printre caracteristicile codificării KOI8-R, se poate remarca faptul că literele rusești din tabelul său nu sunt în ordine alfabetică, așa cum, de exemplu, au făcut-o în CP866.

Dacă vă uitați la prima captură de ecran (a părții de bază, care este inclusă în toate codificările extinse), veți observa că în KOI8-R literele rusești sunt situate în aceleași celule ale tabelului ca și literele consoanei alfabetului latin cu ele din prima parte a tabelului. Acest lucru a fost făcut pentru comoditatea trecerii de la caracterele rusești la caracterele latine, eliminând doar un bit (două la a șaptea putere sau 128).

Windows 1251 - versiunea modernă a ASCII și de ce iese krakozyabry

Dezvoltarea ulterioară a codificărilor de text a fost asociată cu faptul că sistemele de operare grafică câștigau popularitate și nevoia de a folosi pseudo-grafice în ele a dispărut în timp. Ca urmare, a apărut un întreg grup, care, în esență, erau încă versiuni extinse ale Asuka (un caracter al textului este codificat cu un singur octet de informații), dar deja fără utilizarea caracterelor pseudo-grafice.

Ele aparțineau așa-numitelor codificări ANSI, care au fost dezvoltate de Institutul American de Standarde. În limbajul comun, numele alfabetului chirilic a fost încă folosit pentru versiunea cu suport pentru limba rusă. Un exemplu în acest sens poate servi.

S-a diferențiat în mod favorabil de CP866 și KOI8-R utilizate anterior prin faptul că locul simbolurilor pseudo-grafice în el a fost luat de simbolurile lipsă ale tipografiei ruse (cu excepția semnului de accent), precum și de simbolurile utilizate în limbile slave. aproape de rusă (ucraineană, belarusă etc.) ):

Datorită atât de abundență de codificări în limba rusă, producătorii de fonturi și producătorii de software au avut în mod constant dureri de cap, iar noi, dragi cititori, de multe ori le-am scăpat de cele notorii krakozyabry când a existat confuzie cu versiunea folosită în text.

Foarte des au ieșit la trimiterea și primirea mesajelor prin e-mail, ceea ce a presupus crearea unor tabele de conversie foarte complexe, care, de fapt, nu puteau rezolva în mod fundamental această problemă, iar de multe ori utilizatorii pentru corespondență obișnuiau să evite faimoșii krakozyabs atunci când foloseau Codificări rusești precum CP866, KOI8-R sau Windows 1251.

De fapt, krakozyabry, care au ieșit în loc de textul rusesc, au fost rezultatul unei utilizări incorecte a codificării acestei limbi, care nu corespundea celei în care mesajul text a fost codificat inițial.

De exemplu, dacă încercăm să afișăm caracterele codificate cu CP866 folosind tabelul de coduri Windows 1251, atunci vor apărea aceleași krakozyabry (set de caractere fără sens), înlocuind complet textul mesajului.

O situație similară apare foarte des în forumuri sau bloguri, atunci când textul cu caractere rusești este salvat din greșeală în codificarea greșită, care este utilizată implicit pe site, sau în editorul de text greșit care adaugă coduri care nu sunt vizibile pentru utilizatori. cu ochiul liber.

În cele din urmă, mulți s-au săturat de această situație cu o mulțime de codificări și krakozyaberi care apar în mod constant, existau premise pentru crearea unei noi variante universale care să le înlocuiască pe toate cele existente și să rezolve în sfârșit problema rădăcină a apariției textelor ilizibile. . În plus, a existat problema limbilor precum chineza, unde caracterele limbii erau mult mai mult de 256.

Unicode - codificări UTF universale 8, 16 și 32

Aceste mii de caractere din grupul de limbi din Asia de Sud-Est nu au putut fi descrise într-un octet de informații, care a fost alocat pentru codificarea caracterelor în versiunile extinse de ASCII. Ca urmare, a fost creat un consorțiu numit Unicode(Unicode - Unicode Consortium) cu colaborarea multor lideri din industria IT (cei care produc software, care codifică hardware, care creează fonturi) care au fost interesați de apariția unei codări universale de text.

Prima variantă lansată sub auspiciile consorțiului Unicode a fost UTF 32... Numărul din numele codificării înseamnă numărul de biți care sunt utilizați pentru a codifica un caracter. 32 de biți sunt 4 octeți de informații care vor fi necesari pentru a codifica un singur caracter în noua codificare UTF universală.

Ca urmare, același fișier cu text codificat în versiunea extinsă a ASCII și în UTF-32, în acest din urmă caz, va avea dimensiunea (greutatea) de patru ori mai mare. Acest lucru este rău, dar acum avem posibilitatea de a codifica numărul de caractere egal cu două la puterea de treizeci de secunde ( miliarde de caractere, care va acoperi orice valoare cu adevărat necesară cu o marjă colosală).

Dar multe țări cu limbi ale grupului european nu au trebuit să folosească un număr atât de mare de caractere în codificare, dar atunci când a fost utilizat UTF-32, au primit o creștere de patru ori a ponderii documentelor text pentru nimic și, pe măsură ce ca urmare, o creștere a volumului de trafic pe Internet și a volumului de date stocate. Este mult și nimeni nu și-ar putea permite o astfel de risipă.

Ca urmare a dezvoltării Unicode, UTF-16, care s-a dovedit a fi atât de reușit încât a fost acceptat implicit ca spațiu de bază pentru toate simbolurile pe care le folosim. Folosește doi octeți pentru a codifica un caracter. Să vedem cum arată acest caz.

În sistemul de operare Windows, puteți urma calea "Start" - "Programe" - "Accesorii" - "Instrumente de sistem" - "Harta simbolurilor". Ca rezultat, se va deschide un tabel cu forme vectoriale ale tuturor fonturilor instalate în sistemul dumneavoastră. Dacă selectați setul de caractere Unicode în „Parametri suplimentari”, veți putea vedea pentru fiecare font separat întregul sortiment de caractere incluse în acesta.

Apropo, făcând clic pe oricare dintre ele, îi puteți vedea pe doi octeți Cod UTF-16 format din patru cifre hexazecimale:

Câte caractere pot fi codificate în UTF-16 cu 16 biți? 65536 (două la puterea lui șaisprezece) și acest număr a fost luat ca spațiu de bază în Unicode. În plus, există modalități de a codifica cu acesta și aproximativ două milioane de caractere, dar au fost limitate la spațiul extins de un milion de caractere de text.

Dar nici această versiune de succes a codificării Unicode nu a adus prea multe satisfacții celor care au scris, de exemplu, programe doar în limba engleză, deoarece după trecerea de la versiunea extinsă de ASCII la UTF-16, greutatea documentelor s-a dublat (una octet per un caracter în Aski și doi octeți pentru același caracter în UTP-16).

Tocmai pentru satisfacția tuturor și a tuturor celor din consorțiul Unicode s-a decis să se vină codificare de lungime variabilă... L-au numit UTF-8. În ciuda numărului opt din nume, acesta are într-adevăr o lungime variabilă, adică. fiecare caracter din text poate fi codificat într-o secvență de la unu până la șase octeți.

În practică, în UTF-8, se folosește doar intervalul de la unu la patru octeți, deoarece dincolo de patru octeți de cod, nimic nu este chiar teoretic posibil de imaginat. Toate caracterele latine din el sunt codificate într-un octet, la fel ca în vechiul ASCII.

Ceea ce este de remarcat, în cazul codificării numai a alfabetului latin, chiar și acele programe care nu înțeleg Unicode vor citi în continuare ceea ce este codificat în UTF-8. Acestea. partea de bază a lui Asuka tocmai a trecut în această creație a consorțiului Unicode.

Caracterele chirilice în UTF-8 sunt codificate în doi octeți și, de exemplu, cele georgiane - în trei octeți. Unicode Consortium după crearea UTF 16 și 8 a rezolvat principala problemă - acum avem există un singur spațiu de cod în fonturi... Și acum, producătorii lor îl pot umple doar cu forme vectoriale de simboluri text pe baza punctelor forte și a capacităților lor. Acum chiar și în seturi.

În „Tabelul de caractere” de mai sus puteți vedea că diferite fonturi acceptă un număr diferit de caractere. Unele fonturi bogate în Unicode pot fi foarte grele. Dar acum ele diferă nu prin faptul că sunt create pentru diferite codificări, ci prin faptul că producătorul fontului a umplut sau nu a umplut un singur spațiu de cod cu anumite forme vectoriale până la sfârșit.

Krakozyabry în loc de litere rusești - cum să o rezolvi

Să vedem acum cum apar krakozyabras în locul textului sau, cu alte cuvinte, cum este aleasă codificarea corectă pentru textul rus. De fapt, este setat în programul în care creați sau editați acest text, sau codați folosind fragmente de text.

Pentru editarea și crearea fișierelor text, personal folosesc unul foarte bun, după părerea mea. Cu toate acestea, poate evidenția sintaxa a încă o sută de limbaje de programare și de marcare și are, de asemenea, capacitatea de a se extinde folosind plugin-uri. Citiți o recenzie detaliată a acestui program grozav la link-ul furnizat.

În meniul de sus al Notepad ++ există un element „Codări”, unde veți putea converti versiunea existentă în cea care este utilizată implicit pe site-ul dvs.:

În cazul unui site de pe Joomla 1.5 și mai sus, precum și în cazul unui blog pe WordPress, pentru a evita apariția fisurilor, alegeți opțiunea UTF 8 fără BOM... Care este prefixul BOM?

Faptul este că, atunci când a fost dezvoltată codarea YUTF-16, din anumite motive au decis să-i atașeze un astfel de lucru, cum ar fi capacitatea de a scrie un cod de caractere, atât în ​​secvență directă (de exemplu, 0A15), cât și invers (150A). . Și pentru ca programele să înțeleagă în ce secvență să citească codurile și a fost inventat BOM(Byte Order Mark sau, cu alte cuvinte, semnătură), care a fost exprimată prin adăugarea a trei octeți suplimentari chiar la începutul documentelor.

În codificarea UTF-8, consorțiul Unicode nu prevede BOM și, prin urmare, adăugarea unei semnături (acești trei octeți suplimentari cei mai notori la începutul documentului) împiedică pur și simplu unele programe să citească codul. Prin urmare, atunci când salvăm fișiere în UTP, trebuie să alegem întotdeauna opțiunea fără BOM (fără semnătură). Deci avanzi protejează-te de a te târâi afară din Krakozyabrov.

Ceea ce este de remarcat este că unele programe din Windows nu pot face acest lucru (nu pot salva text în UTP-8 fără BOM), de exemplu, notoriul Windows Notepad. Salvează documentul în UTF-8, dar încă adaugă o semnătură (trei octeți suplimentari) la început. Mai mult, acești octeți vor fi întotdeauna aceiași - citiți codul în secvență directă. Dar pe servere, din cauza acestui fleac, poate apărea o problemă - va ieși krakozyabry.

Deci în niciun caz nu utilizați notepad Windows obișnuit pentru editarea documentelor site-ului dvs., dacă nu doriți să apară krakozyabrs. Cea mai bună și simplă opțiune cred că este deja menționat editorul Notepad ++, care practic nu are dezavantaje și constă doar în avantaje.

În Notepad ++, atunci când alegeți o codificare, veți putea converti textul în codificarea UCS-2, care este în mod inerent foarte apropiată de standardul Unicode. De asemenea, în Notepad va fi posibilă codificarea textului în ANSI, adică. în raport cu limba rusă va fi deja descrisă de noi chiar deasupra Windows 1251. De unde provin aceste informații?

Este înregistrată în registrul sistemului dvs. de operare Windows - ce codificare să alegeți în cazul ANSI, care să alegeți în cazul OEM (pentru limba rusă va fi CP866). Dacă instalați o altă limbă implicită pe computer, atunci aceste codificări vor fi înlocuite cu altele similare din categoria ANSI sau OEM pentru aceeași limbă.

După ce salvați documentul în codificarea de care aveți nevoie în Notepad ++ sau deschideți documentul de pe site pentru editare, puteți vedea numele acestuia în colțul din dreapta jos al editorului:

Pentru a evita krakozyabrov, pe lângă acțiunile descrise mai sus, va fi util să scrieți informații despre această codificare în antetul codului sursă al tuturor paginilor site-ului, astfel încât să nu existe confuzii pe server sau pe gazda locală.

În general, în toate limbajele de marcare hipertext, cu excepția Html, se utilizează o declarație xml specială, care indică codificarea textului.

Înainte de a începe analiza codului, browserul va ști ce versiune este utilizată și cum trebuie interpretate exact codurile de caractere ale acestei limbi. Dar ceea ce este de remarcat este că dacă salvați documentul în unicode implicit, atunci această declarație xml poate fi omisă (codificarea va fi considerată UTF-8 dacă nu există BOM sau YUTF-16 dacă există o BOM).

În cazul unui document HTML, codificarea este specificată Element meta, care este scris între etichetele Head de deschidere și de închidere:

... ...

Această intrare este destul de diferită de cea adoptată în, dar respectă pe deplin noul standard HTML 5 introdus lent și va fi înțeles 100% corect de către orice browser utilizat în prezent.

În teorie, elementul Meta care indică codificarea documentului HTML ar fi mai bine setat cât mai sus posibil în antetul documentului astfel încât în ​​momentul întâlnirii primului caracter din text care nu este din ANSI de bază (care este întotdeauna citit corect și în orice variație), browserul ar trebui să aibă deja informații despre modul de interpretare a codurilor acestor caractere.

Multă baftă! Ne vedem curând pe paginile site-ului blogului

puteți viziona mai multe videoclipuri accesând
");">

S-ar putea să fiți interesat

Ce sunt URL-urile, care este diferența dintre linkurile absolute și relative pentru un site
OpenServer este un server local modern și un exemplu de utilizare a acestuia pentru a instala WordPress pe un computer
Ce este Chmod, ce permisiuni să atribuiți fișierelor și folderelor (777, 755, 666) și cum se face prin PHP
Căutare Yandex pe site și magazin online

Potrivit Uniunii Internaționale de Telecomunicații, în 2016, trei miliarde și jumătate de oameni au folosit internetul cu o regularitate diferită. Majoritatea dintre ei nici măcar nu se gândesc la faptul că orice mesaje trimise de ei prin intermediul computerelor sau gadgeturilor mobile, precum și textele care sunt afișate pe tot felul de monitoare, sunt de fapt combinații de 0 și 1. Această prezentare a informațiilor se numește codificare . Acesta oferă și facilitează foarte mult implementarea stocării, procesării și transmiterii acestuia. În 1963, a fost dezvoltată codarea ASCII americană, căreia îi este dedicat acest articol.

Prezentarea informațiilor într-un computer

Din punctul de vedere al oricărui computer electronic, textul este o colecție de caractere individuale. Acestea includ nu numai litere, inclusiv majuscule, ci și semne de punctuație și numere. În plus, sunt folosite caractere speciale „=", „&”, „(” și spații.

Setul de simboluri care alcătuiesc textul se numește alfabet, iar numărul lor se numește cardinalitate (notat cu N). Pentru a-l defini, se folosește expresia N = 2 ^ b, unde b este numărul de biți sau greutatea informațională a unui anumit caracter.

S-a dovedit că un alfabet cu o capacitate de 256 de caractere poate reprezenta toate caracterele necesare.

Deoarece 256 este a 8-a putere a doi, greutatea fiecărui caracter este de 8 biți.

Unitatea de măsură de 8 biți se numește 1 octet, deci se obișnuiește să spunem că orice caracter dintr-un text stocat pe un computer ocupă un octet de memorie.

Cum se face codarea

Orice texte sunt introduse în memoria unui computer personal prin intermediul tastelor de la tastatură pe care sunt scrise numere, litere, semne de punctuație și alte simboluri. Ele sunt transferate în RAM într-un cod binar, adică fiecare caracter este asociat cu un cod zecimal cunoscut oamenilor, de la 0 la 255, care corespunde unui cod binar - de la 00000000 la 11111111.

Codificarea caracterelor byte permite procesorului de text să acceseze fiecare caracter separat. În același timp, 256 de caractere sunt suficiente pentru a reprezenta orice informație despre caracter.

Codificarea caracterelor ASCII

Această abreviere în engleză înseamnă cod pentru schimbul de informații.

Chiar și în zorii computerizării, a devenit evident că puteți veni cu o mare varietate de moduri de a codifica informațiile. Cu toate acestea, pentru a transfera informații de la un computer la altul, a fost necesar să se dezvolte un singur standard. Deci, în 1963, în Statele Unite a apărut un tabel de codificare ASCII. În el, orice simbol al alfabetului computerului este asociat cu numărul său ordinal în reprezentare binară. Inițial, ASCII a fost folosit doar în Statele Unite și mai târziu a devenit standardul internațional pentru computere.

Codurile ASCII sunt împărțite în 2 părți. Doar prima jumătate a acestui tabel este considerată standard internațional. Include caractere cu numere ordinale de la 0 (codificat ca 00000000) la 127 (cod 01111111).

Număr de serie

Codificarea textului ASCII

Simbol

0000 0000 - 0001 1111

Caracterele cu N de la 0 la 31 se numesc caractere de control. Funcția lor este de a „ghida” procesul de afișare a textului pe un monitor sau dispozitiv de imprimare, de a da un semnal sonor etc.

0010 0000 - 0111 1111

Caractere cu N de la 32 la 127 (partea standard a tabelului) - litere mari și mici ale alfabetului latin, 10 cifre, semne de punctuație, precum și diverse paranteze, simboluri comerciale și alte simboluri. Caracterul 32 denotă un spațiu.

1000 0000 - 1111 1111

Caracterele cu N de la 128 la 255 (parte alternativă a tabelului sau a paginii de cod) pot avea diferite variante, fiecare având propriul număr. Pagina de coduri este folosită pentru a specifica alfabetele naționale care sunt diferite de latină. În special, cu ajutorul acestuia se realizează codificarea ASCII pentru caracterele rusești.

În tabelul de codificare, majuscule și urmează una după alta în ordine alfabetică, iar numerele - în ordinea crescătoare a valorilor. Acest principiu se aplică și alfabetului rus.

Personaje de control

Tabelul de codificare ASCII a fost creat inițial pentru a primi și transmite informații pe un astfel de dispozitiv care nu a fost folosit de mult timp, cum ar fi un teletype. În acest sens, în setul de caractere au fost incluse caractere neprintabile, folosite ca comenzi pentru a controla acest dispozitiv. Comenzi similare au fost folosite în astfel de metode de mesagerie pre-computer precum codul Morse etc.

Cel mai comun caracter de „teletip” este NUL (00, „zero”). Este încă folosit în majoritatea limbajelor de programare până în prezent, denotă un terminator de linie.

Unde este folosită codificarea ASCII?

Codul standard al SUA este necesar pentru mai mult decât pentru a introduce informații text de la tastatură. Este folosit și în grafică. Mai exact, în ASCII Art Maker, imaginile diferitelor extensii reprezintă un spectru de caractere ASCII.

Astfel de produse sunt de două tipuri: îndeplinesc funcția de editor grafic prin conversia imaginilor în text și conversia „imaginilor” în grafică ASCII. De exemplu, celebra emoticon este un exemplu excelent de caracter de codificare.

ASCII poate fi folosit și la crearea unui document HTML. În acest caz, puteți introduce un anumit set de caractere, iar la vizualizarea paginii, pe ecran va apărea un caracter care corespunde acestui cod.

ASCII este, de asemenea, necesar pentru crearea site-urilor multilingve, deoarece caracterele care nu sunt incluse într-un tabel național specific sunt înlocuite cu coduri ASCII.

Unele caracteristici

Pentru a codifica informațiile text în codificare ASCII, au fost utilizați inițial 7 biți (unul a fost lăsat gol), dar astăzi funcționează ca pe 8 biți.

Literele din coloanele de sus și de jos diferă între ele doar printr-un singur bit. Acest lucru reduce foarte mult complexitatea verificării.

Utilizarea ASCII în Microsoft Office

Dacă este necesar, acest tip de codificare a textului poate fi utilizat în editorii de text Microsoft, cum ar fi Notepad și Office Word. Cu toate acestea, atunci când tastați în acest caz, nu va fi posibilă utilizarea anumitor funcții. De exemplu, nu veți putea îngroșa, deoarece ASCII păstrează doar sensul informațiilor, ignorând aspectul și forma generală a acesteia.

Standardizare

Organizația ISO a adoptat standardele ISO 8859. Acest grup definește codificări pe opt biți pentru diferite grupuri de limbi. Mai exact, ISO 8859-1 este ASCII extins, care este un tabel pentru Statele Unite și Europa de Vest. Și ISO 8859-5 este un tabel folosit pentru alfabetul chirilic, inclusiv limba rusă.

Din mai multe motive istorice, standardul ISO 8859-5 a fost utilizat pentru o perioadă foarte scurtă de timp.

Pentru limba rusă, în prezent, codificări sunt de fapt utilizate:

  • CP866 (Pagina de cod 866) sau DOS, care este adesea denumită codificare GOST alternativă. A fost folosit în mod activ până la mijlocul anilor 90 ai secolului trecut. Momentan, practic nu este folosit.
  • KOI-8. Codificarea a fost dezvoltată în anii 1970-80, iar în prezent este un standard general acceptat pentru mesajele de e-mail pe Runet. Este utilizat pe scară largă în sistemul de operare al familiei Unix, inclusiv Linux. Versiunea „rusă” a KOI-8 se numește KOI-8R. În plus, există versiuni pentru alte limbi chirilice, cum ar fi ucraineană.
  • Pagina de cod 1251 (CP 1251, Windows - 1251). Dezvoltat de Microsoft pentru a oferi suport pentru limba rusă în mediul Windows.

Principalul avantaj al primului standard CP866 a fost păstrarea caracterelor pseudografice în aceleași poziții ca în ASCII extins. Acest lucru a făcut posibilă rularea fără modificări a programelor text realizate în străinătate, cum ar fi binecunoscutul Norton Commander. În prezent, CP866 este utilizat pentru programele dezvoltate sub Windows care funcționează în modul text pe ecran complet sau în ferestre text, inclusiv FAR Manager.

Textele de computer scrise în codificarea CP866 sunt destul de rare în ultima vreme, dar tocmai această codificare este folosită pentru numele fișierelor rusești în Windows.

„Unicode”

În prezent, această codificare este cea care a primit cea mai răspândită utilizare. Codurile Unicode sunt împărțite în zone. Primul (U + 0000 la U + 007F) include caractere ASCII cu coduri. Urmează zonele de semne ale diferitelor scripturi naționale, precum și semnele de punctuație și simbolurile tehnice. În plus, unele dintre codurile „Unicode” sunt rezervate în cazul în care este nevoie de a include noi caractere în viitor.

Acum știți că în ASCII, fiecare caracter este reprezentat ca o combinație de 8 zerouri și unu. Pentru nespecialiști, aceste informații pot părea inutile și neinteresante, dar nu vrei să știi ce se întâmplă „în creierul” computerului tău?!

Unicode (în engleză Unicode) este un standard de codificare a caracterelor. Mai simplu spus, acesta este un tabel de corespondență a caracterelor text (, litere, elemente de punctuație) coduri binare. Calculatorul înțelege doar succesiunea de zerouri și unu. Pentru ca el să știe ce anume ar trebui să afișeze pe ecran, este necesar să atribuie un număr unic fiecărui personaj. În anii optzeci, caracterele erau codificate într-un octet, adică în opt biți (fiecare bit este 0 sau 1). Astfel, s-a dovedit că un tabel (aka codificare sau set) poate conține doar 256 de caractere. Acest lucru poate să nu fie suficient chiar și pentru o singură limbă. Prin urmare, au apărut multe codificări diferite, confuzie cu care adesea a dus la faptul că în loc de textul care poate fi citit, pe ecran au apărut niște krakozyabry ciudate. Era necesar un singur standard, care a devenit Unicode. Cea mai utilizată codificare este UTF-8 (Unicode Transformation Format), care utilizează 1 până la 4 octeți pentru a afișa un caracter.

Simboluri

Caracterele din tabelele Unicode sunt numerotate cu numere hexazecimale. De exemplu, litera majusculă chirilică M este desemnată U + 041C. Aceasta înseamnă că se află la intersecția liniei 041 și a coloanei C. Puteți pur și simplu să-l copiați și apoi să-l lipiți undeva. Pentru a nu scotoci printr-o listă de mai mulți kilometri, ar trebui să folosiți căutarea. Mergând la pagina cu simboluri, veți vedea numărul acestuia în Unicode și modul în care este desenat în diferite fonturi. De asemenea, puteți introduce semnul în sine în bara de căutare, chiar dacă în schimb este desenat un pătrat, cel puțin pentru a afla ce a fost. De asemenea, pe acest site există seturi speciale (și - aleatoare) de același tip de pictograme, colectate din diferite secțiuni, pentru ușurință în utilizare.

Standardul Unicode este internațional. Include semne din aproape toate scripturile din lume. Inclusiv cele care nu mai sunt folosite. Hieroglife egiptene, rune germanice, scriere mayașă, cuneiforme și alfabete ale statelor antice. Prezentat și desemnarea măsurilor și greutăților, notația muzicală, conceptele matematice.

Consorțiul Unicode în sine nu inventează caractere noi. Pe tabele se adaugă acele icoane care își găsesc aplicarea în societate. De exemplu, semnul rublei a fost folosit în mod activ timp de șase ani înainte de a fi adăugat la Unicode. Pictogramele Emoji (emoticoane) au fost, de asemenea, utilizate pe scară largă în Japonia și înainte de a fi incluse în codificare. Dar mărcile comerciale și siglele companiei nu sunt adăugate în principiu. Chiar și la fel de comun ca Apple Apple sau Windows flag. Astăzi, în versiunea 8.0, sunt codificate aproximativ 120 de mii de caractere.

Se numește setul de caractere cu care este scris textul alfabet.

Numărul de caractere din alfabet este al lui putere.

Formula pentru determinarea cantității de informații: N = 2 b,

unde N este cardinalitatea alfabetului (numărul de caractere),

b - numărul de biți (greutatea informațională a caracterului).

Alfabetul cu o capacitate de 256 de caractere poate găzdui aproape toate caracterele necesare. Acest alfabet se numește suficient.

pentru că 256 = 2 8, atunci greutatea unui caracter este de 8 biți.

Unitatea de 8 biți a fost numită 1 octet:

1 octet = 8 biți.

Codul binar al fiecărui caracter din textul computerului ocupă 1 octet de memorie.

Cum sunt reprezentate informațiile text în memoria computerului?

Comoditatea codificării octet a caracterelor este evidentă, deoarece un octet este cea mai mică parte adresabilă a memoriei și, prin urmare, procesorul poate accesa fiecare caracter separat, efectuând procesarea textului. Pe de altă parte, 256 de caractere este un număr destul de suficient pentru a reprezenta o mare varietate de informații despre caractere.

Acum se pune întrebarea, ce fel de cod binar pe opt biți să asociem cu fiecare caracter.

Este clar că aceasta este o chestiune condiționată, puteți veni cu multe metode de codare.

Toate caracterele alfabetului computerului sunt numerotate de la 0 la 255. Fiecare număr corespunde unui cod binar de opt biți de la 00000000 la 11111111. Acest cod este pur și simplu numărul ordinal al caracterului din sistemul numeric binar.

Tabelul în care toate caracterele alfabetului computerului sunt atribuite numere de serie se numește tabel de codificare.

Pentru diferite tipuri de computere sunt folosite tabele de codare diferite.

Standardul internațional pentru PC a devenit tabelul ASCII(citiți asci) (Codul standard american pentru schimbul de informații).

Tabelul ASCII este împărțit în două părți.

Standardul internațional este doar prima jumătate a tabelului, adică. simboluri cu numere din 0 (00000000), până la 127 (01111111).

Structura tabelului de codificare ASCII

Număr de serie

Cod

Simbol

0 - 31

00000000 - 00011111

Simbolurile cu numere de la 0 la 31 sunt de obicei numite caractere de control.
Funcția lor este de a controla procesul de afișare a textului pe ecran sau de imprimare, de a da un semnal sonor, de marcare a textului etc.

32 - 127

00100000 - 01111111

Parte standard a tabelului (engleză). Aceasta include litere mici și mari ale alfabetului latin, cifre zecimale, semne de punctuație, tot felul de paranteze, simboluri comerciale și alte simboluri.
Caracterul 32 este un spațiu, adică. poziție goală în text.
Toate celelalte se reflectă în anumite semne.

128 - 255

10000000 - 11111111

Parte alternativă a tabelului (rusă).
A doua jumătate a tabelului de coduri ASCII, numită pagina de coduri (128 de coduri, începând cu 10000000 și terminând cu 11111111), poate avea variante diferite, fiecare variantă având propriul număr.
Pagina de coduri este folosită în primul rând pentru a găzdui alfabetele naționale, altele decât latină. În codificările naționale rusești, această parte a tabelului conține simboluri ale alfabetului rus.

Prima jumătate a tabelului ASCII


Vă atrag atenția că în tabelul de codificare literele (majuscule și mici) sunt aranjate în ordine alfabetică, iar numerele sunt ordonate în ordine crescătoare a valorilor. Această respectare a ordinii lexicografice în aranjarea caracterelor se numește principiul codificării secvențiale a alfabetului.

Pentru literele alfabetului rus, se respectă și principiul codificării secvențiale.

A doua jumătate a tabelului ASCII


Din păcate, în prezent există cinci codificări chirilice diferite (KOI8-R, Windows. MS-DOS, Macintosh și ISO). Din această cauză, apar adesea probleme cu transferul de text rusesc de la un computer la altul, de la un sistem software la altul.

Cronologic, unul dintre primele standarde pentru codificarea literelor rusești pe computere a fost KOI8 ("Cod de schimb de informații, 8 biți"). Această codificare a fost folosită încă din anii 70 pe computerele din seria de calculatoare ES, iar de la mijlocul anilor 80 a început să fie folosită în primele versiuni rusificate ale sistemului de operare UNIX.

De la începutul anilor 90, vremea dominației sistemului de operare MS DOS, codificarea CP866 rămâne („CP” înseamnă „Code Page”).

Computerele Apple care rulează Mac OS folosesc propria lor codificare Mac.

În plus, Organizația Internațională pentru Standardizare (International Standards Organization, ISO) a aprobat o altă codificare numită ISO 8859-5 ca standard pentru limba rusă.

În prezent, cea mai comună codificare este Microsoft Windows, prescurtat ca CP1251.

De la sfârșitul anilor '90, problema standardizării codării caracterelor a fost rezolvată prin introducerea unui nou standard internațional numit Unicode... Aceasta este o codificare pe 16 biți, adică alocă 2 octeți de memorie pentru fiecare caracter. Desigur, acest lucru dublează cantitatea de memorie utilizată. Dar, pe de altă parte, un astfel de tabel de coduri permite includerea a până la 65536 de caractere. Specificația completă a standardului Unicode include toate alfabetele existente, dispărute și create artificial din lume, precum și multe simboluri matematice, muzicale, chimice și alte simboluri.

Să încercăm să folosim un tabel ASCII pentru a ne imagina cum vor arăta cuvintele în memoria computerului.

Reprezentarea internă a cuvintelor în memoria computerului

Uneori se întâmplă ca un text format din litere ale alfabetului rus, primit de la un alt computer, să nu poată fi citit - pe ecranul monitorului este vizibil un fel de „farful”. Acest lucru se datorează faptului că computerele folosesc codificare diferită a caracterelor limbii ruse.

Top articole similare