Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows 7, XP
  • Tabel internațional de coduri ASCII. Codificare ASCII (cod standard american pentru schimbul de informații) - codificare de bază a textului pentru latină

Tabel internațional de coduri ASCII. Codificare ASCII (cod standard american pentru schimbul de informații) - codificare de bază a textului pentru latină

Un computer înțelege procesul de transformare a acestuia într-o formă care permite organizarea unui transfer, stocare sau prelucrare automată mai convenabilă a acestor date. În acest scop, se folosesc diverse tabele. Codificarea ASCII este primul sistem dezvoltat în Statele Unite pentru lucrul cu text în limba engleză, care a devenit ulterior răspândit în întreaga lume. Articolul de mai jos este dedicat descrierii, caracteristicilor, proprietăților și utilizării ulterioare.

Afișarea și stocarea informațiilor într-un computer

Simbolurile de pe un monitor de computer sau de unul sau altul gadget digital mobil sunt formate pe baza unor seturi de forme vectoriale de tot felul de semne și a unui cod care vă permite să găsiți printre ele simbolul care trebuie introdus la locul potrivit. Este o serie de biți. Astfel, fiecare caracter trebuie să corespundă în mod unic unui set de zerouri și unu, care stau într-o ordine specifică, unică.

Cum a început totul

Din punct de vedere istoric, primele computere au fost în limba engleză. Pentru a codifica informațiile simbolice în ele, a fost suficient să folosiți doar 7 biți de memorie, în timp ce în acest scop a fost alocat 1 octet, format din 8 biți. Numărul de caractere înțeles de computer în acest caz a fost egal cu 128. Numărul de astfel de caractere includea alfabetul englez cu semnele de punctuație, numerele și unele caractere speciale. Codificarea de șapte biți în limba engleză cu tabelul corespunzătoare (pagina de cod), dezvoltată în 1963, a fost denumită Codul standard american pentru schimbul de informații. De obicei, abrevierea „codificare ASCII” a fost folosită pentru a o desemna și este încă folosită până în prezent.

Trecerea la multilingvism

De-a lungul timpului, computerele au devenit utilizate pe scară largă și în țările care nu vorbesc engleza. În acest sens, era nevoie de codificări care să permită utilizarea limbilor naționale. S-a decis să nu se reinventeze roata și să se ia ca bază ASCII. Tabelul de codificare din noua ediție s-a extins semnificativ. Utilizarea celui de-al 8-lea bit a făcut posibilă traducerea a 256 de caractere în limbajul computerului.

Descriere

Codificarea ASCII are un tabel care este împărțit în 2 părți. Doar prima jumătate este considerată a fi standardul internațional general acceptat. Include:

  • Caractere cu numere ordinale de la 0 la 31, codificate prin secvențe de la 00000000 la 00011111. Sunt rezervate caracterelor de control care controlează procesul de afișare a textului pe ecran sau imprimantă, oferind un semnal sonor etc.
  • Caracterele cu NN în tabelul de la 32 la 127, codificate prin secvențe de la 00100000 la 01111111, constituie partea standard a tabelului. Acestea includ un spațiu (N 32), litere ale alfabetului latin (minuscule și majuscule), numere din zece cifre de la 0 la 9, semne de punctuație, paranteze de diferite stiluri și alte simboluri.
  • Caractere cu numere ordinale de la 128 la 255, codificate prin secvențe de la 10000000 la 11111111. Acestea includ litere ale alfabetului național, altele decât cele latine. În această parte alternativă a tabelului este folosită codificarea ASCII pentru a converti caracterele rusești în formă de computer.

Unele proprietăți

Particularitățile codificării ASCII includ diferența dintre literele „A” - „Z” ale literelor mici și mari de doar un bit. Această împrejurare simplifică foarte mult conversia registrului, precum și verificarea apartenenței acestuia la intervalul specificat de valori. În plus, toate literele din sistemul de codare ASCII sunt reprezentate prin numerele lor ordinale proprii în alfabet, care sunt scrise în 5 cifre în notație binară, precedate de 011 2 pentru literele mici și 010 2 pentru litere mari.

Printre caracteristicile codificării ASCII poate fi considerată reprezentarea a 10 cifre - „0” - „9”. În al doilea sistem de numere, ele încep cu 00112 și se termină cu 2 numere. De exemplu, 0101 2 este echivalent cu zecimala cinci, deci caracterul „5” este scris ca 0011 01012. Pe baza acestui lucru, puteți converti cu ușurință BCD-urile într-un șir ASCII adăugând 00112 la fiecare nibble din stânga.

„Unicode”

După cum știți, sunt necesare mii de caractere pentru a afișa texte în limbile grupului din Asia de Sud-Est. Un astfel de număr dintre ele nu este în niciun fel descris într-un octet de informații, așa că nici măcar versiunile ASCII extinse nu ar mai putea satisface nevoile crescute ale utilizatorilor din diferite țări.

Astfel, a apărut necesitatea creării unei codări universale a textului, care a fost dezvoltată de consorțiul Unicode în cooperare cu mulți lideri ai industriei IT globale. Specialiștii săi au creat sistemul UTF 32. În acesta, au fost alocați 32 de biți pentru codificarea unui caracter, alcătuind 4 octeți de informații. Principalul dezavantaj a fost o creștere bruscă a cantității de memorie necesară de până la 4 ori, ceea ce a implicat multe probleme.

În același timp, pentru majoritatea țărilor cu limbi oficiale aparținând grupului indo-european, numărul de caractere egal cu 232 este mai mult decât redundant.

Ca urmare a lucrărilor ulterioare ale specialiștilor din consorțiul Unicode, a apărut codificarea UTF-16. A devenit opțiunea de transformare a informațiilor simbolice care se potrivea tuturor atât în ​​ceea ce privește cantitatea de memorie necesară, cât și numărul de caractere codificate. De aceea, UTF-16 a fost acceptat implicit și necesită 2 octeți pentru a fi rezervați pentru un caracter.

Chiar și această versiune destul de avansată și de succes a „Unicode” a avut unele dezavantaje și, după trecerea de la versiunea extinsă a ASCII la UTF-16, a dublat greutatea documentului.

În acest sens, s-a decis să se utilizeze codificarea cu lungime variabilă UTF-8. În acest caz, fiecare caracter al textului sursă este codificat cu o secvență de 1 până la 6 octeți.

Relația cu codul standard american pentru schimbul de informații

Toate caracterele alfabetului latin în UTF-8 de lungime variabilă sunt codificate pe 1 octet, ca în sistemul de codare ASCII.

Particularitatea UTP-8 este că, în cazul unui text în latină fără a utiliza alte caractere, chiar și programele care nu înțeleg „Unicode” vă vor permite totuși să-l citiți. Cu alte cuvinte, partea de bază a codificării textului ASCII este pur și simplu îmbinată în noul UTF cu lungime variabilă. Caracterele chirilice în UTP-8 ocupă 2 octeți și, de exemplu, cele georgiane - 3 octeți. Crearea UTF-16 și 8 a rezolvat principala problemă a creării unui singur spațiu de cod în fonturi. De atunci, producătorii de fonturi pot completa tabelul doar cu forme vectoriale de caractere text în funcție de nevoile lor.

Sunt preferate diferite codificări pe sisteme de operare diferite. Pentru a putea citi și edita textele tastate într-o altă codificare, se folosesc programe de conversie a textului rusesc. Unele editoare de text conțin transcoduri încorporate și vă permit să citiți text indiferent de codificare.

Acum știi câte caractere sunt în ASCII și cum și de ce a fost dezvoltat. Desigur, astăzi cel mai răspândit standard în lume este „Unicode”. Totuși, nu trebuie să uităm că a fost creat pe baza ASCII, prin urmare, trebuie apreciată contribuția dezvoltatorilor săi în domeniul IT.

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 asigură și facilitează foarte mult stocarea, prelucrarea și transmiterea 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?!

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 codificare.

Toate caracterele alfabetului computerului sunt numerotate de la 0 la 255. Fiecare număr corespunde unui cod binar de opt cifre de la 00000000 la 11111111. Acest cod este pur și simplu numărul ordinal al caracterului din sistemul 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

Codul

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 a marca textul 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 constând din litere ale alfabetului rus, primit de la un alt computer, să nu poată fi citit - un fel de „farful” este vizibil pe ecranul monitorului. Acest lucru se datorează faptului că computerele folosesc codificare diferită a caracterelor limbii ruse.

Simboluri suprapuse

Caracterul BS (backspace) permite imprimantei să suprascrie un caracter. În ASCII, a fost prevăzut pentru adăugarea de semne diacritice la litere în acest fel, de exemplu:

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

Notă: în fonturi vechi, apostroful „a fost desenat cu o înclinare spre stânga, iar tilda ~ a fost deplasată în sus, astfel încât să se potrivească doar cu rolul de acut și tilde deasupra.

Dacă același simbol este suprapus unui caracter, atunci se obține efectul unui font aldine, iar dacă pe caracter este suprapus un caracter de subliniere, atunci se obține text subliniat.

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

Notă: aceasta este folosită, de exemplu, în sistemul de ajutor pentru om.

Variante naționale ASCII

Standardul ISO 646 (ECMA-6) prevede posibilitatea plasării caracterelor naționale @ [ \ ] ^ ` { | } ~ ... Pe lângă asta, pe loc # poate fi cazat £ , și pe loc $ - ¤ ... Acest sistem este potrivit pentru limbile europene unde sunt necesare doar câteva caractere suplimentare. Versiunea ASCII fără caractere naționale se numește US-ASCII sau „International Reference Version”.

Ulterior, s-a dovedit a fi mai convenabil să folosești codificări pe 8 biți (pagini de coduri), unde jumătatea inferioară a tabelului de coduri (0-127) este ocupată de caractere US-ASCII, iar partea superioară (128-255) este ocupat de caractere suplimentare, inclusiv un set de caractere naționale. Astfel, jumătatea superioară a tabelului ASCII, înainte de adoptarea pe scară largă a Unicode, a fost folosită în mod activ pentru a reprezenta caractere localizate, litere ale limbii locale. Lipsa unui standard unificat pentru plasarea caracterelor chirilice în tabelul ASCII a cauzat multe probleme cu codificările (KOI-8, Windows-1251 și altele). Alte limbi cu o scriere non-latină au suferit, de asemenea, de prezența mai multor codificări diferite.

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

Pe acele computere în care unitatea minimă de memorie adresabilă a fost un cuvânt de 36 de biți, au fost utilizate inițial caractere de 6 biți (1 cuvânt = 6 caractere). După trecerea la ASCII pe astfel de computere, au început să plaseze fie 5 caractere de șapte biți într-un cuvânt (1 bit a rămas de prisos), fie 4 caractere de nouă biți.

Codurile ASCII sunt de asemenea folosite pentru a identifica tasta apăsată în timpul programării. Pentru o tastatură QWERTY standard, tabelul de coduri arată astfel:

[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) ) ș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 locul literelor 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 manual codificarea î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:

Top articole similare