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

Tabelul a devenit un standard general acceptat ASCII(Codul standard american pentru schimbul de informații). Primele 32 de caractere ale tabelului ASCII (de la 00 la 1F) au fost folosite pentru caracterele care nu se imprimă. Au fost concepute pentru a controla un dispozitiv de imprimare etc. Restul - de la 20 la 7F - sunt caractere obișnuite (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 O 012 linie nouă
11 B 013 filă verticală
12 C 014 noua pagina
13 D 015 întoarcere la căruță
14 E 016 schimbă afară
15 F 017 schimbă înăuntru
16 10 020 evadare legaturii 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 anula
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 O
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 o
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 limba engleză. Există, de asemenea, simboluri aritmetice și alte simboluri de serviciu. Dar nu există nici litere rusești, nici măcar latine speciale pentru germană sau franceză. Acest lucru este ușor de explicat - codificarea a fost dezvoltată special ca standard american. Pe măsură ce computerele au început să fie folosite în întreaga lume, alte caractere au trebuit să fie codificate.

Pentru a face acest lucru, s-a decis să se folosească al optulea bit din fiecare octet. Acest lucru a făcut să fie disponibile încă 128 de valori (de la 80 la FF) care ar putea 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 pseudografice.

Caracterele pseudografice vă permit să oferiți o imagine de grafică afișând doar caractere text pe ecran. De exemplu, programul de gestionare a fișierelor FAR Manager funcționează folosind pseudografice.

Nu existau litere rusești în tabelul ASCII extins. Rusia (fosta URSS) și alte țări și-au creat 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 au devenit răspândite, primele 127 de caractere (adică valoarea octetului cu al optulea bit egal cu 0) sunt aceleași cu ASCII. Deci, un fișier ASCII funcționează în oricare dintre aceste codificări; scrisori Limba engleză sunt prezentate în mod egal.

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 un tabel ASCII extins pentru SUA și Europa de Vest. Și ISO 8859-5 este un tabel pentru alfabetul chirilic (inclusiv rus).

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

Pagina de cod 866 ( CP866), alias „DOS”, alias „codare GOST alternativă”. Folosit pe scară largă până la mijlocul anilor 90; folosit acum într-o măsură limitată. Practic nu este folosit pentru distribuirea de texte pe Internet.
- KOI-8. Dezvoltat în anii 70-80. Este un standard general acceptat pentru transmiterea mesajelor de e-mail pe internetul rusesc. Folosit pe scară largă în sistemele de operare Familia Unix, inclusiv Linux. Se numește versiunea KOI-8, concepută pentru rusă KOI-8R; Există versiuni pentru alte limbi chirilice (de exemplu, KOI8-U este o versiune pentru limba ucraineană).
- Pagina de cod 1251, CP1251,Windows-1251. Dezvoltat de către 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. CP866 este acum utilizat pentru programele Windows care rulează în ferestre text sau în modul text pe ecran complet, inclusiv FAR Manager.

Textele din CP866 au fost destul de rare în ultimii ani (dar este folosit 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, însă, a literei E). Datorită acestei locații programe de calculator Este foarte ușor de sortat alfabetic.

Dar în KOI-8R ordinea literelor rusești pare aleatorie. Dar în realitate nu este cazul.

În multe programe mai vechi, al 8-lea bit a fost pierdut la procesarea sau transmiterea textului. (Acum, astfel de programe sunt practic „disparute”, 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, doar 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 plasate în corespondență clară 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. Deci, E1 în KOI-8 este „A” rusesc, în timp ce 61 în ASCII este „a” latin.

Deci, KOI-8 vă permite să mențineți lizibilitatea textului rusesc atunci când al 8-lea bit este pierdut. „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 in calculatoare moderne nu se pierde în timpul transmiterii sau procesării. Iar sortarea alfabetică se face ținând cont de codificare, și nu prin simpla comparare a codurilor. (Apropo, codurile CP1251 nu sunt complet aranjate alfabetic - 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, „EU SUNT SBYUFEMHEL”. Acestea sunt doar cuvintele „cu respect”; dar au fost codificate în codificare CP1251, iar computerul a decodat textul folosind tabelul KOI-8. Dacă aceleași cuvinte ar fi, dimpotrivă, codificate în KOI-8, iar computerul ar decoda textul folosind tabelul CP1251, rezultatul ar fi „U KHBTSEOYEN”.

Uneori se întâmplă ca un computer să descifreze literele în limba rusă folosind un 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 „crocozybras”.

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

Pentru acest articol au fost folosite informații de pe pagina http://open-office.edusite.ru/TextProcessor/p5aa1.html.

Material preluat de pe site:

Apropo, pe site-ul nostru puteți converti orice text în cod zecimal, hexazecimal, binar folosind Calculatorul de cod online.

Tabelul ASCII

ASCII (Codul standard american pentru schimbul de informații)

Tabel rezumat al codurilor ASCII

Tabel de coduri de caractere ASCII Windows (Win-1251)

Simbol

specialist. Intabulare

specialist. LF (Returul căruciorului)

specialist. CR( Linie nouă)

ambreiaj SP (Spațiu)

Simbol

Tabel de coduri ASCII extins

Formatarea simbolurilor.

Backspace (Returnează un caracter). Indică faptul că mecanismul de imprimare sau cursorul de afișare se deplasează înapoi cu o poziție.

Tabularea orizontală. Indică mișcarea motorului de imprimare sau a cursorului de afișare la următorul „tab stop” prescris.

Line Feed. Indică mișcarea mecanismului de imprimare sau a cursorului de afișare la începutul liniei următoare (în jos pe o linie).

Tabularea verticală. Indică mișcarea motorului de imprimare sau a cursorului de afișare către următorul grup de linii.

Feed de formulare. Indică mișcarea motorului de imprimare sau a cursorului de afișare la poziția de pornire a paginii, formularului sau ecranului următor.

Întoarcerea căruciorului. Indică mișcarea mecanismului de imprimare sau a cursorului de afișare către poziția inițială (cel mai din stânga) a liniei curente.

Transfer de date.

Începutul titlului. Folosit pentru a defini începutul unui antet, care poate conține informații de rutare sau o adresă.

Începutul textului. Afișează începutul textului și, în același timp, sfârșitul titlului.

Sfârșitul textului. Se aplică la încheierea textului care a început cu caracterul STX.

Anchetă. Solicitarea datelor de identificare (cum ar fi „Cine ești?”) de la o stație de la distanță.

Recunoașteți. Dispozitivul receptor transmite acest caracter expeditorului ca confirmare a recepției cu succes a datelor.

Recunoaștere negativă. Dispozitivul receptor transmite acest caracter expeditorului în cazul refuzului (eșecului) recepției datelor.

Sincron/Inactiv. Folosit în sistemele de transmisie sincronizată. Când nu există transmisie de date, sistemul trimite continuu simboluri SYN pentru a asigura sincronizarea.

Sfârșitul blocului de transmisie. Indică sfârșitul unui bloc de date în scopuri de comunicare. Folosit pentru a împărți cantități mari de date în blocuri separate.

Semnele de împărțire la transmiterea informațiilor.

Alte simboluri.

Nul. (Fără caracter - fără date). Folosit pentru transmisie atunci când nu există date.

Clopot (Apel). Folosit pentru controlul dispozitivelor de alarmă.

Schimbă afară. Indică faptul că toate cuvintele de cod ulterioare trebuie interpretate conform setului de caractere extern înainte de sosirea caracterului SI.

Schimbați-vă. Indică faptul că combinațiile ulterioare de coduri trebuie interpretate în conformitate cu set standard personaje.

Data Link Escape. Schimbarea semnificației următoarelor caractere. Folosit pentru control suplimentar sau pentru transmiterea unei combinații arbitrare de biți.

DC1, DC2, DC3, DC4

Comenzile dispozitivului. Simboluri pentru operarea dispozitivelor auxiliare (funcții speciale).

Anula. Indică faptul că datele care preced acest caracter într-un mesaj sau bloc ar trebui ignorate (de obicei, dacă este detectată o eroare).

Sfârșitul Mediului. Indică capătul fizic al unei benzi sau al altui mediu de stocare

Substitui. Folosit pentru a înlocui un caracter eronat sau invalid.

Evadare (Extindere). Folosit pentru a extinde codul indicând faptul că un caracter ulterior are un sens alternativ.

Spaţiu. Un caracter care nu se imprimă pentru a separa cuvintele sau pentru a muta motorul de imprimare sau pentru a afișa cursorul înainte cu o poziție.

Şterge. Folosit pentru a șterge (șterge) caracterul anterior dintr-un mesaj

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

Numărul de caractere din alfabet este acesta putere.

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

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

b – numărul de biți (greutatea informației simbolului).

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

Deoarece 256 = 2 8, atunci greutatea unui caracter este de 8 biți.

Unitatea de măsură 8 biți a primit numele 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 caracterelor octet cu octet este evidentă deoarece un octet este cea mai mică parte adresabilă a memoriei și, prin urmare, procesorul poate accesa fiecare caracter separat atunci când procesează text. Pe de altă parte, 256 de caractere reprezintă un număr destul de suficient pentru a reprezenta o mare varietate de informații simbolice.

Acum se pune întrebarea, ce cod binar de opt biți să aloce fiecărui 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 de serie al caracterului din sistemul de numere binar.

Un tabel în care tuturor caracterelor alfabetului computerului li se atribuie numere de serie se numește tabel de codificare.

Pentru diferite tipuri Calculatoarele folosesc tabele de codificare diferite.

Tabelul a devenit standardul internațional pentru computere ASCII(citiți aski) (Codul standard american pentru schimbul de informații).

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

Doar prima jumătate a tabelului este standardul internațional, 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 simboluri de control.
Funcția lor este de a controla procesul de afișare a textului pe ecran sau de imprimare, alimentare semnal sonor, marcarea textului etc.

32 - 127

00100000 - 01111111

Parte standard a tabelului (engleză). Aceasta include litere mici și mari ale alfabetului latin, numere 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 de la 10000000 și terminând cu 11111111), poate avea opțiuni diferite, fiecare opțiune 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, caracterele din alfabetul rus sunt plasate în această parte a tabelului.

Prima jumătate a tabelului de coduri ASCII


Vă rugăm să rețineți că în tabelul de codificare, literele (majuscule și mici) sunt aranjate în ordine alfabetică, iar numerele sunt ordonate crescător. Această respectare a ordinii lexicografice în aranjarea simbolurilor 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 de coduri 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 textului rusesc de la un computer la altul, de la unul sistem software la altul.

Din punct de vedere 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. sistem de operare UNIX.

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

Calculatoare Apple care rulează sisteme de operare sisteme Mac OS, folosesc propria lor codificare Mac.

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

Cea mai comună codificare utilizată în prezent este Microsoft Windows, prescurtat CP1251.

De la sfârșitul anilor 90, problema standardizării codifică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 crește de 2 ori cantitatea de memorie ocupată. Dar 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 - un fel de „abracadabra” este vizibil pe ecranul monitorului. Acest lucru se întâmplă deoarece computerele folosesc diferite codificări de caractere pentru limba rusă.

Unicode (Unicode în engleză) este un standard de codificare a caracterelor. Mai simplu spus, acesta este un tabel de corespondență între caracterele textului ( , litere, elemente de punctuație) coduri binare. Calculatorul înțelege doar succesiunea de zerouri și unu. Pentru ca acesta să știe exact ce ar trebui să afișeze pe ecran, este necesar să atribuie fiecărui caracter propriul său număr unic. În anii optzeci, caracterele erau codificate într-un octet, adică opt biți (fiecare bit este un 0 sau 1). Astfel, s-a dovedit că un tabel (aka codificare sau set) poate găzdui 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, confuzia cu care a dus adesea la apariția unor farfurii ciudate pe ecran în loc de text care poate fi citit. Era necesar un singur standard, ceea ce a devenit Unicode. Cea mai folosită codificare este UTF-8 (Unicode Transformation Format), care utilizează 1 până la 4 octeți pentru a reprezenta un caracter.

Simboluri

Caracterele din tabelele Unicode sunt numerotate cu numere hexazecimale. De exemplu, chirilic majusculă M este desemnat U+041C. Aceasta înseamnă că se află la intersecția rândului 041 și 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. Când accesați pagina cu simboluri, veți vedea numărul său Unicode și modul în care este scris în diferite fonturi. Puteți introduce semnul în sine în bara de căutare, chiar dacă în schimb este desenat un pătrat, măcar pentru a afla ce a fost. De asemenea, pe acest site există seturi speciale (și aleatorii) de același tip de pictograme, colectate din diferite secțiuni, pentru ușurință în utilizare.

Standardul Unicode este internațional. Include personaje din aproape toate scenariile lumii. Inclusiv cele care nu mai sunt folosite. Hieroglife egiptene, rune germanice, scriere mayașă, cuneiforme și alfabete ale statelor antice. Sunt prezentate, de asemenea, denumiri ale greutăților și măsurilor, notația muzicală și conceptele matematice.

Consorțiul Unicode în sine nu inventează caractere noi. Acele icoane care își găsesc utilizarea în societate sunt adăugate pe tabele. 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 înainte de a fi incluse în codificare. Dar mărcile comerciale și siglele companiei nu sunt adăugate în principiu. Chiar și cele obișnuite precum Apple Apple sau Windows flag. Până în prezent, aproximativ 120 de mii de caractere sunt codificate în versiunea 8.0.

După cum știți, un computer stochează informații în formă binară, reprezentând-o ca o secvență de unu și zero. Pentru a traduce informațiile într-o formă convenabilă pentru percepția umană, fiecare secvență unică de numere este înlocuită cu simbolul său corespunzător atunci când este afișată.

Unul dintre sistemele de corelare a codurilor binare cu caracterele tipărite și de control este

La nivelul de dezvoltare actual tehnologie informatică utilizatorului nu i se cere să cunoască codul fiecărui personaj specific. Cu toate acestea, o înțelegere generală a modului în care se realizează codificarea este extrem de utilă, iar pentru unele categorii de specialiști, chiar necesară.

Crearea ASCII

Codificarea a fost dezvoltată inițial în 1963 și apoi actualizată de două ori pe parcursul a 25 de ani.

În versiunea originală, tabelul de caractere ASCII includea 128 de caractere mai târziu a apărut o versiune extinsă, în care au fost salvate primele 128 de caractere, iar caracterele lipsă anterior au fost atribuite codurilor cu al optulea bit implicat.

Timp de mulți ani, această codificare a fost cea mai populară din lume. În 2006, Latin 1252 a ocupat poziția de lider, iar de la sfârșitul lui 2007 până în prezent, Unicode a deținut ferm poziția de lider.

Reprezentarea computerizată a ASCII

Fiecare caracter ASCII are propriul cod, format din 8 caractere reprezentând un zero sau unul. Numărul minim din această reprezentare este zero (opt zerouri în sistemul binar), care este codul primului element din tabel.

Două coduri din tabel au fost rezervate pentru comutarea între standardul US-ASCII și varianta sa națională.

După ce ASCII a început să includă nu 128, ci 256 de caractere, s-a răspândit o variantă de codificare, în care versiunea originală a tabelului a fost stocată în primele 128 de coduri cu al 8-lea bit zero. Caracterele scrise naționale au fost stocate în jumătatea superioară a tabelului (pozițiile 128-255).

Utilizatorul nu trebuie să cunoască direct codurile de caractere ASCII. Pentru dezvoltator software De obicei, este suficient să cunoașteți numărul elementului din tabel pentru a calcula, dacă este necesar, codul acestuia folosind sistemul binar.

limba rusă

După dezvoltarea codificărilor pentru limbile scandinave, chineză, coreeană, greacă etc. la începutul anilor '70, Uniunea Sovietică a început să creeze propria versiune. În curând, a fost dezvoltată o versiune a codificării pe 8 biți numită KOI8, păstrând primele 128 de coduri de caractere ASCII și alocând același număr de poziții pentru literele alfabetului național și caractere suplimentare.

Înainte de introducerea Unicode, KOI8 domina segmentul rus al internetului. Au existat opțiuni de codare atât pentru alfabetul rus, cât și pentru cel ucrainean.

Probleme ASCII

Deoarece numărul de elemente chiar și în tabelul extins nu a depășit 256, nu a existat nicio posibilitate de a găzdui mai multe scripturi diferite într-o singură codificare. În anii 90, problema „crocozyabr” a apărut pe Runet, când textele tastate cu caractere ASCII rusești erau afișate incorect.

Problema a fost o nepotrivire a codului diverse opțiuni ASCII unul la altul. Să ne amintim că diferite caractere ar putea fi localizate în pozițiile 128-255, iar la schimbarea unei codări chirilice cu alta, toate literele textului au fost înlocuite cu altele având un număr identic într-o versiune diferită a codificării.

Starea curentă

Odată cu apariția Unicode, popularitatea ASCII a început să scadă brusc.

Motivul pentru aceasta constă în faptul că noua codificare a făcut posibilă găzduirea caracterelor din aproape toate limbile scrise. În acest caz, primele 128 de caractere ASCII corespund acelorași caractere în Unicode.

În 2000, ASCII era cea mai populară codare de pe Internet și era folosită pe 60% din paginile web indexate de Google. Până în 2012, ponderea acestor pagini a scăzut la 17%, iar Unicode (UTF-8) a luat locul celei mai populare codări.

Deci ASCII este o parte importantă a istoriei tehnologia de informație, cu toate acestea, utilizarea sa în viitor pare nepromițătoare.