Curs 06

Codificarea caracterelor

Codificări naționale

defini

Computerele moderne stochează toate informațiile sub formă de byte binare, adică unități pe 8 biți, capabile să ia o valoare de la 0 la 255. Pentru a stoca în memoria calculatorului nu informații numerice ci textuale, trebuie să determinăm cu ce octet sau octeți Fiecare caracter care poate fi codificat în textul nostru va fi codificat. Această corespondență între caractere și octeții care le codifică se numește set de caractere. Este ușor de înțeles, în primul rând, că fiecare codificare este proiectat pentru un limbaj specific uman (mai precis, pentru un anumit scenariu), și, pe de altă parte, că orice astfel de codificările pentru limbă se poate gândi la o multime. Cunoscând natura umană, nu este greu de ghicit că vor fi inventate mult mai mult decât este necesar. Desigur, asta e ceea ce sa întâmplat: cel mai avansat la funcția de conversie dată de bibliotecă ATI (International Components pentru Unicode), IBM suportă mai mult de 170 de codificări diferite.







Codecuri ale alfabetului latin

Să analizăm în detaliu codificările scenariilor cu care dezvoltatorul rus se ciocnește cel mai adesea, adică latină și chirilică. Pentru alfabetul latin se folosesc astăzi două codificări principale: ASCII și EBCDIC. ASCII (codul standard american pentru schimbul de informații) este un tabel de cod pe șapte biti (coduri de 00 - 7F sau 0 - 127 zecimale), care a devenit standard pentru computerele mici și mijlocii și, prin urmare, standardul pentru Web. În acesta, octeții cu coduri hexazecimale 00 - 1F și 7F sunt utilizați pentru a codifica caracterele de control (nu sunt afișate), iar ceilalți codifică următoarele simboluri:

Curs 06

Codificarea EBCDIC (Cod extins codificat zecimal codificat) este o codificare pe 8 biți (coduri de caractere 00 la FF sau 0 la 255 zecimale) acceptate pe toate calculatoarele IBM, cu excepția PC-ului. Nu am putut să menționăm acest lucru, dar pe măsură ce XML se dezvoltă ca formatul principal pentru transportul datelor pe Web, suntem tot mai confruntați cu fișiere XML generate pe mașini mari. Aici octeți cu coduri 00 - 3F codifică caracterele de control, iar restul se utilizează astfel:







Curs 06

Codificări chirilice

Codificările scripturilor alfabetice "non-latine" sunt aranjate după cum urmează. Ele sunt codificate tabelul (1 octet = 1 simbol), adică un număr de opt biți 00 - .. FF (0-255 zecimal), astfel încât jumătatea inferioară a listei de coduri (coduri 00 - 7F sau 0-127 zecimale) este ASCII, și prezbiterul jumătate (cod 80 - FF sau 128-255 zecimale) cuprinde un set de caractere național, și anume, litere rusești în lista de coduri rus turcă în limba turcă, etc. o astfel de organizare tabele de coduri naționale permite să afișeze și să proceseze litere, numere în mod corespunzător, și .... semne de punctuație pe orice computer, indiferent de setările sistemului. Asta-i drept, în special, aranjate și seturi de caractere rusești, astfel încât să putem lua în considerare în continuare doar jumătate lor mai mare.

Istoria codificărilor rusești este un exemplu de confuzie, rară chiar și pentru realitatea noastră de calculator. Organizațiile sovietice de standardizare au acceptat GOST-urile, producătorii de calculatoare (Apple) și sistemele de operare (Microsoft), au ignorat amiabil și au introdus propriile codificări. Ca rezultat, am primit o moștenire de la patru persoane diferite, două codificări de la Microsoft (DOS și Windows), și codificarea la Apple pentru Mac-uri (toate, desigur, incompatibile unele cu altele). Cei interesați de detalii se pot referi la pagina Subscarinei Chiarice Charset.

Din fericire, astăzi nu este nevoie să descriem în detaliu toate aceste codificări, deoarece doar doi dintre ei au supraviețuit în Runet. Primul este KOI8-R (KOI reprezintă codul de schimb și procesare a informațiilor, P distinge tabelul de coduri rusești de la limba ucraineană, KOI8-U). KOI8-R a fost înregistrat de Andrei Chernov de la Relcom ca RFC 1489 și arată ca:

Curs 06

KOI8-P este de facto standard pentru toate serviciile de Internet, cu excepția WWW. În special, toate e-mailurile și serviciile de știri Runet lucrează în această codificare. În ceea ce privește Web-ul, situația de aici este mult mai complicată. Problema este că mai mult de 90% din computerele client ale rețelei funcționează sub Windows cu diferite versiuni. Windows utilizează propriile coduri de litere rusești, care se numește, de obicei, prin numărul paginii codului Windows-1251 sau CP1251:

Curs 06







Articole similare

Trimiteți-le prietenilor: