Notă: Dec înseamnă codul zecimal al caracterelor, Oct este codul octal al caracterelor, Hex este codul de caractere hexazecimal, Char după cum arată personajul.
Așa cum este ușor de văzut, în această codificare sunt reprezentate numai literele latine și cele utilizate în limba engleză. Există, de asemenea, simboluri aritmetice și alte servicii. Dar nu există scrisori rusești, nici latine speciale pentru germană sau franceză. Acest lucru este ușor de explicat - codarea a fost dezvoltată exact ca un standard american. Când computerele au început să fie folosite în întreaga lume, era necesar să codifice alte simboluri.
Pentru aceasta, sa decis utilizarea celei de-a opta biți în fiecare octet. Astfel, au fost disponibile alte 128 de valori (de la 80 la FF) care ar putea fi folosite pentru a codifica simbolurile. Primul dintre cele opt-masa - „ASCII extins“ (ASCII extins) - Include diverse variante de caractere latine utilizate în unele limbi din Europa de Vest. De asemenea, au fost și alte simboluri suplimentare, inclusiv pseudografice.
Simbolurile pseudo-grafice permit afișarea numai a simbolurilor de text pe ecran, oferind un fel de grafică. Folosind pseudografia, de exemplu, funcționează programul pentru gestionarea fișierelor FAR Manager.
Literele rusești în tabelul Extended ASCII nu au fost. În limba rusă (mai devreme - URSS) și în alte țări pentru a crea codificarea lor, permițând să reprezinte 8-biți fișiere text simboluri specifice „naționale“ - scrisori de limbile poloneză și cehă, chirilic (inclusiv litere rusești) și alte alfabete.
Toate codificări au primit răspândirea, primele 127 de simboluri (de exemplu, valoarea octet la al optulea bit egal cu 0) coincid cu ASCII. Astfel, un fișier ASCII funcționează în oricare dintre aceste codificări; scrisorile de limbă engleză sunt prezentate în același mod.
ISO (Organizația Internațională de Standardizare) a adoptat grupul de standarde ISO 8859. Acesta definește codificări pe 8 biți pentru diferite grupuri de limbi. Astfel, ISO 8859-1 este extins ASCII, un tabel pentru SUA și Europa de Vest. Și ISO 8859-5 este un tabel pentru alfabetul chirilic (inclusiv limba rusă).
Cu toate acestea, din motive istorice, codificarea ISO 8859-5 nu a rădăcină. Următoarele codificări sunt valabile pentru limba rusă:
- Cod Page 866 (CP866), este de asemenea "DOS", este, de asemenea, o "codare GOST alternativă". Utilizat pe scară largă până la mijlocul anilor 90; acum este folosit în mod limitat. Practic nu se aplică difuzării textelor pe Internet.
- KOI-8. Dezvoltat în anii 70-80. Este un standard general acceptat pentru transmiterea mesajelor de poștă electronică pe Internetul rusesc. Este utilizat pe scară largă și în sistemele de operare ale familiei Unix, inclusiv Linux. Versiunea KOI-8, concepută pentru limba rusă, se numește KOI-8R; există versiuni pentru alte limbi chirilice (de exemplu, KOI8-U este o variantă pentru limba ucraineană).
- Cod Pagina 1251, CP1251. Ferestre-1251. Dezvoltat de Microsoft pentru a sprijini limba rusă în sistemul Windows.
Principalul avantaj al CP866 a fost conservarea simbolurilor pseudografice în aceleași locuri ca în ASCII extins; astfel încât programele de text străine, de exemplu, celebrul Norton Commander, ar putea funcționa fără schimbări. În prezent, CP866 este utilizat pentru programele care rulează sub Windows care funcționează în ferestre text sau în modul text pe ecran complet, inclusiv FAR Manager.
Tabelul 3. Codarea KOI-8R (simboluri de la 80 la FF)
Tabelul 4. Codificarea CP1251 (simboluri de la 80 la FF)
După cum puteți vedea, în tabela de codificare CP1251 literele rusești sunt aranjate în ordine alfabetică (cu excepția literelor E). Datorită acestui aranjament, programele pe calculator sunt foarte ușor de sortare în ordine alfabetică.
Dar în KOI-8R ordinea scrisorilor rusești pare aleatorie. Dar, de fapt, nu este.
În multe programe mai vechi, bitul 8 a fost pierdut în timpul prelucrării sau transmiterii textului. (Acum, astfel de programe sunt aproape dispărute, dar la sfârșitul anilor 80 - începutul anilor '90 au fost foarte răspândite). Pentru a obține o valoare de 7 biți din valoarea pe 8 biți, este suficient să scăpați de cifra de înaltă ordine 8; de exemplu, E1 se transformă în 61.
Acum comparați KOI-8R cu tabelul ASCII (Tabelul 1). Veți găsi că scrisorile rusești sunt puse în corespondență strictă cu literele latine. În cazul în al optulea bit va dispărea, litere rusești mici sunt convertite în litere mari de capital latină și rusă - cu litere mici. Deci, E1 în KOI-8 este rusă "A", în timp ce 61 în ASCII este latină "a".
Astfel, KOI-8 vă permite să păstrați lizibilitatea textului rusesc cu pierderea celui de-al 8-lea bit. "Bună ziua tuturor" se transformă în "PRIWET WSEM".
Recent, atât ordinea alfabetică a caracterelor din tabela de codificare cât și lizibilitatea pierderii celui de-al 8-lea bit au pierdut importanță decisivă. Al 8-lea bit în computerele moderne nu este pierdut nici în timpul transmisiei, nici al procesării. Și sortarea după alfabet se face ținând cont de codificare, și nu prin compararea simplă a codurilor. (Apropo, codurile CP1251 nu sunt în întregime în ordine alfabetică - litera ¨ nu este în locul lor).
Uneori se întâmplă ca computerul să decripte literele din limba rusă și să nu utilizeze un tabel care nu este destinat limbii ruse. Apoi, în loc de literele rusești apare un set de caractere fără sens (de exemplu, literele latine ale limbilor est-europene); ele sunt adesea numite "crocozibere".
În cele mai multe cazuri, programele moderne se confruntă cu determinarea codificării documentelor Internet (e-mailuri și pagini Web) pe cont propriu. Dar, uneori, aceștia "se rătăcesc", iar apoi puteți vedea secvențe ciudate de litere rusești sau "crocozibere". De regulă, pentru a afișa acest text în această situație, este suficient să selectați manual codificarea în meniul programului.