Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 7, XP
  • Međunarodna tabela ascii kodova. ASCII (američki standardni kod za razmjenu informacija) kodiranje - osnovno kodiranje teksta za latinicu

Međunarodna tabela ascii kodova. ASCII (američki standardni kod za razmjenu informacija) kodiranje - osnovno kodiranje teksta za latinicu

Računar razumije proces svoje transformacije u formu koja omogućava organiziranje praktičnijeg prijenosa, skladištenja ili automatske obrade ovih podataka. U tu svrhu koriste se različite tablice. ASCII kodiranje je prvi sistem razvijen u Sjedinjenim Državama za rad s tekstom na engleskom jeziku, koji je kasnije postao široko rasprostranjen u cijelom svijetu. Donji članak posvećen je njegovom opisu, karakteristikama, svojstvima i daljnjoj upotrebi.

Prikaz i skladištenje informacija u računaru

Simboli na kompjuterskom monitoru ili jednom ili drugom mobilnom digitalnom gadgetu formiraju se na osnovu skupova vektorskih oblika svih vrsta znakova i koda koji vam omogućava da među njima pronađete simbol koji treba umetnuti na pravo mjesto. To je serija bitova. Dakle, svaki znak mora jedinstveno odgovarati skupu nula i jedinica, koji stoje u specifičnom, jedinstvenom poretku.

Kako je sve počelo

Istorijski gledano, prvi kompjuteri su bili na engleskom. Za kodiranje simboličkih informacija u njima bilo je dovoljno koristiti samo 7 bitova memorije, dok je za tu svrhu dodijeljen 1 bajt koji se sastoji od 8 bitova. Broj znakova koje je kompjuter razumio u ovom slučaju bio je jednak 128. Broj takvih znakova uključivao je englesku abecedu sa svojim interpunkcijskim znacima, brojevima i nekim posebnim znakovima. Sedmobitno kodiranje na engleskom jeziku sa odgovarajućom tablicom (kodnom stranicom), razvijeno 1963. godine, nazvano je američkim standardnim kodom za razmjenu informacija. Obično se za označavanje koristila skraćenica "ASCII encoding" koja se i danas koristi.

Prelazak na višejezičnost

Vremenom su kompjuteri postali široko korišćeni iu zemljama u kojima se ne govori engleski. U tom smislu, postojala je potreba za kodiranjem koje bi omogućilo upotrebu nacionalnih jezika. Odlučeno je da se ne izmišlja ponovo točak, i da se kao osnova uzme ASCII. Tabela kodiranja u novom izdanju značajno je proširena. Upotreba 8. bita omogućila je prevođenje 256 znakova na kompjuterski jezik.

Opis

ASCII kodiranje ima tabelu koja je podijeljena na 2 dijela. Samo prva polovina se smatra opšteprihvaćenim međunarodnim standardom. To uključuje:

  • Znakovi sa rednim brojevima od 0 do 31, kodirani sekvencama od 00000000 do 00011111. Rezervisani su za kontrolne znakove koji kontrolišu proces prikazivanja teksta na ekranu ili štampaču, davanja zvučnog signala itd.
  • Znakovi sa NN u tabeli od 32 do 127, kodirani sekvencama od 00100000 do 01111111, čine standardni dio tabele. To uključuje razmak (N 32), slova latinice (mala i velika), desetocifreni brojevi od 0 do 9, znakove interpunkcije, zagrade različitih stilova i druge simbole.
  • Znakovi sa rednim brojevima od 128 do 255, kodirani nizovima od 10000000 do 11111111. Ovo uključuje slova nacionalnog alfabeta osim latinice. Upravo ovaj alternativni dio tabele koristi se ASCII kodiranjem za pretvaranje ruskih znakova u kompjuterski oblik.

Neke nekretnine

Posebnosti ASCII kodiranja uključuju razliku između slova "A" - "Z" malih i velikih slova za samo jedan bit. Ova okolnost uvelike pojednostavljuje konverziju registra, kao i njegovu provjeru pripadnosti navedenom rasponu vrijednosti. Osim toga, sva slova u sistemu ASCII kodiranja su predstavljena sopstvenim rednim brojevima u abecedi, koji su napisani u 5 cifara u binarnoj notaciji, kojima prethodi 011 2 za mala slova i 010 2 za velika slova.

Među karakteristikama ASCII kodiranja može se smatrati predstavljanje 10 cifara - "0" - "9". U drugom brojevnom sistemu počinju sa 00112 i završavaju sa 2 broja. Na primjer, 0101 2 je ekvivalentno decimalnoj petici, tako da je znak "5" napisan kao 0011 01012. Na osnovu toga, možete lako pretvoriti BCD-ove u ASCII niz dodavanjem 00112 svakom grickanju s lijeve strane.

"Unicode"

Kao što znate, hiljade znakova su potrebne za prikaz tekstova na jezicima grupe jugoistočne Azije. Toliki broj njih ni na koji način nije opisan u jednom bajtu informacija, pa čak ni proširene ASCII verzije više ne mogu zadovoljiti povećane potrebe korisnika iz različitih zemalja.

Tako se pojavila potreba za stvaranjem univerzalnog kodiranja teksta, koje je razvio Unicode konzorcij u saradnji sa mnogim liderima globalne IT industrije. Njegovi stručnjaci kreirali su sistem UTF 32. U njemu su 32 bita dodijeljena za kodiranje 1 znaka, što čini 4 bajta informacija. Glavni nedostatak je bio naglo povećanje količine potrebne memorije za čak 4 puta, što je za sobom povlačilo mnoge probleme.

Istovremeno, za većinu zemalja sa službenim jezicima koji pripadaju indoevropskoj grupi, broj znakova jednak 2 32 je više nego suvišan.

Kao rezultat daljeg rada stručnjaka iz Unicode konzorcijuma, pojavio se UTF-16 kodiranje. Postala je opcija za transformaciju simboličkih informacija koja je svima odgovarala i po količini potrebne memorije i po broju kodiranih znakova. Zbog toga je UTF-16 prihvaćen po defaultu i zahtijeva da se za jedan znak rezerviraju 2 bajta.

Čak je i ova prilično napredna i uspješna verzija "Unicode-a" imala neke nedostatke, a nakon prelaska sa proširene verzije ASCII na UTF-16 udvostručila je težinu dokumenta.

S tim u vezi, odlučeno je da se koristi kodiranje promjenjive dužine UTF-8. U ovom slučaju, svaki znak izvornog teksta je kodiran nizom od 1 do 6 bajtova.

Odnos sa američkim standardnim kodom za razmjenu informacija

Svi znakovi latinice u UTF-8 varijabilne dužine kodirani su u 1 bajt, kao u ASCII sistemu kodiranja.

Posebnost UTP-8 je da u slučaju teksta na latinici bez korištenja drugih znakova, čak i programi koji ne razumiju "Unicode" će vam i dalje omogućiti da ga pročitate. Drugim riječima, osnovni dio ASCII kodiranja teksta jednostavno se spaja u novi UTF promjenjive dužine. Ćirilični znakovi u UTP-8 zauzimaju 2 bajta, a, na primjer, gruzijski - 3 bajta. Kreiranje UTF-16 i 8 riješilo je glavni problem stvaranja jedinstvenog kodnog prostora u fontovima. Od tada, proizvođači fontova mogu popuniti tabelu samo vektorskim oblicima tekstualnih znakova na osnovu svojih potreba.

Na različitim operativnim sistemima preferiraju se različita kodiranja. Da biste mogli čitati i uređivati ​​tekstove ukucane u drugom kodiranju, koriste se ruski programi za konverziju teksta. Neki uređivači teksta sadrže ugrađene transkodere i omogućavaju vam čitanje teksta bez obzira na kodiranje.

Sada znate koliko znakova ima u ASCII-u i kako i zašto je razvijen. Naravno, danas je najrašireniji standard u svijetu "Unicode". Međutim, ne smijemo zaboraviti da je kreiran na bazi ASCII-a, stoga treba cijeniti doprinos njegovih programera na polju IT-a.

Prema podacima Međunarodne unije za telekomunikacije, 2016. godine, tri i po milijarde ljudi koristilo je internet s različitom redovnošću. Većina njih i ne razmišlja o tome da su sve poruke koje šalju preko računara ili mobilnih uređaja, kao i tekstovi koji se prikazuju na svim vrstama monitora, zapravo kombinacije 0 i 1. Ovakav prikaz informacija naziva se kodiranje . Omogućava i uvelike olakšava njegovo skladištenje, obradu i prijenos. Godine 1963. razvijeno je američko ASCII kodiranje, čemu je i posvećen ovaj članak.

Prezentacija informacija u kompjuteru

Sa stanovišta svakog elektronskog računara, tekst je skup pojedinačnih znakova. To uključuje ne samo slova, uključujući velika slova, već i znakove interpunkcije i brojeve. Osim toga, koriste se posebni znakovi "=", "&", "(" i razmaci.

Skup simbola koji čine tekst naziva se abeceda, a njihov broj kardinalitet (označen kao N). Da bi se to definiralo, koristi se izraz N = 2 ^ b, gdje je b broj bitova ili informacijska težina određenog karaktera.

Dokazano je da abeceda kapaciteta 256 znakova može predstavljati sve potrebne znakove.

Pošto je 256 8. stepen dvojke, težina svakog znaka je 8 bita.

Mjerna jedinica od 8 bita naziva se 1 bajt, pa je uobičajeno reći da bilo koji znak u tekstu pohranjenom na računaru zauzima jedan bajt memorije.

Kako se radi kodiranje

Bilo koji tekst se unosi u memoriju personalnog računara pomoću tastera na tastaturi na kojima su ispisani brojevi, slova, interpunkcijski znaci i drugi simboli. Oni se prenose u RAM u binarnom kodu, odnosno svaki znak je povezan sa decimalnim kodom poznatim ljudima, od 0 do 255, što odgovara binarnom kodu - od 00000000 do 11111111.

Kodiranje znakova u bajtu omogućava procesoru teksta da pristupi svakom karakteru zasebno. U isto vrijeme, 256 znakova je dovoljno za predstavljanje bilo koje informacije o karakteru.

ASCII kodiranje znakova

Ova skraćenica na engleskom znači kod za razmjenu informacija.

Čak i u zoru kompjuterizacije, postalo je očigledno da možete smisliti širok izbor načina za kodiranje informacija. Međutim, za prijenos informacija s jednog računala na drugi, bilo je potrebno razviti jedinstveni standard. Tako se 1963. godine u Sjedinjenim Državama pojavila ASCII tablica kodiranja. U njemu je bilo koji simbol kompjuterske abecede povezan sa njegovim rednim brojem u binarnom prikazu. U početku se ASCII koristio samo u Sjedinjenim Državama, a kasnije je postao međunarodni standard za PC.

ASCII kodovi su podijeljeni u 2 dijela. Samo prva polovina ove tabele se smatra međunarodnim standardom. Sadrži znakove sa rednim brojevima od 0 (kodirano kao 00000000) do 127 (šifra 01111111).

Serijski broj

ASCII kodiranje teksta

Simbol

0000 0000 - 0001 1111

Znakovi sa N od 0 do 31 nazivaju se kontrolni znakovi. Njihova funkcija je da „vode“ proces prikazivanja teksta na monitoru ili uređaju za štampanje, daju zvučni signal itd.

0010 0000 - 0111 1111

Znakovi sa N od 32 do 127 (standardni dio tabele) - velika i mala slova latinice, 10 cifara, znakovi interpunkcije, kao i razne zagrade, komercijalni i drugi simboli. Znak 32 označava razmak.

1000 0000 - 1111 1111

Znakovi sa N od 128 do 255 (alternativni dio tabele ili kodne stranice) mogu imati različite varijante, od kojih svaka ima svoj broj. Kodna stranica se koristi za određivanje nacionalnih alfabeta koje se razlikuju od latinice. Konkretno, uz njegovu pomoć se provodi ASCII kodiranje za ruske znakove.

U tablici kodiranja, velika slova i slijede jedan za drugim abecednim redom, a brojevi - uzlaznim redoslijedom vrijednosti. Ovaj princip važi i za rusko pismo.

Kontrolni znakovi

ASCII tablica kodiranja prvobitno je kreirana za primanje i prijenos informacija na takvom uređaju koji se dugo nije koristio, kao što je teletip. S tim u vezi, znakovi koji se ne mogu štampati su uključeni u skup znakova, koji se koriste kao komande za kontrolu ovog uređaja. Slične komande su korištene u takvim metodama razmjene poruka prije kompjutera kao što su Morzeov kod, itd.

Najčešći "teletip" znak je NUL (00, "nula"). Još uvijek se koristi u većini programskih jezika do danas, označavajući terminator linije.

Gdje se koristi ASCII kodiranje?

Američki standardni kod je potreban za više od samog unosa tekstualnih informacija sa tastature. Takođe se koristi u grafici. Konkretno, u ASCII Art Maker-u, slike različitih ekstenzija predstavljaju spektar ASCII znakova.

Takvi proizvodi su dvije vrste: oni obavljaju funkciju grafičkih uređivača tako što pretvaraju slike u tekst i pretvaraju "slike" u ASCII grafiku. Na primjer, poznati emotikon je odličan primjer kodirajućeg karaktera.

ASCII se također može koristiti prilikom kreiranja HTML dokumenta. U tom slučaju možete unijeti određeni skup znakova, a prilikom pregleda stranice na ekranu će se pojaviti znak koji odgovara ovom kodu.

ASCII je takođe neophodan za kreiranje višejezičnih sajtova, pošto se znakovi koji nisu uključeni u određenu nacionalnu tabelu zamenjuju ASCII kodovima.

Neke karakteristike

Za kodiranje tekstualnih informacija u ASCII kodiranju prvobitno je korišteno 7 bitova (jedan je ostavljen prazan), ali danas radi kao 8-bitni.

Slova u gornjem i donjem stupcu razlikuju se jedno od drugog za samo jedan bit. Ovo uvelike smanjuje složenost provjere.

Korišćenje ASCII-a u Microsoft Office-u

Ako je potrebno, ovaj tip kodiranja teksta može se koristiti u Microsoft uređivačima teksta kao što su Notepad i Office Word. Međutim, prilikom kucanja u ovom slučaju, neke funkcije neće biti moguće koristiti. Na primjer, nećete moći podebljati, jer ASCII samo čuva značenje informacija, zanemarujući njihov opći izgled i oblik.

Standardizacija

ISO organizacija je usvojila standarde ISO 8859. Ova grupa definiše osmobitna kodiranja za različite jezičke grupe. Konkretno, ISO 8859-1 je prošireni ASCII, što je tabela za Sjedinjene Države i Zapadnu Evropu. A ISO 8859-5 je tabela koja se koristi za ćirilično pismo, uključujući ruski jezik.

Iz brojnih istorijskih razloga, standard ISO 8859-5 je u upotrebi veoma kratko vreme.

Za ruski jezik se trenutno koriste kodiranja:

  • CP866 (kod stranice 866) ili DOS, koji se često naziva alternativnim GOST kodiranjem. Aktivno se koristio do sredine 90-ih godina prošlog stoljeća. Trenutno se praktično ne koristi.
  • KOI-8. Kodiranje je razvijeno 1970-80-ih i trenutno je općeprihvaćeni standard za poruke pošte na Runetu. Široko se koristi u OS porodice Unix, uključujući Linux. "Ruska" verzija KOI-8 zove se KOI-8R. Osim toga, postoje verzije za druge ćiriličke jezike, kao što je ukrajinski.
  • Kodna stranica 1251 (CP 1251, Windows - 1251). Razvijen od strane Microsofta za pružanje podrške za ruski jezik u Windows okruženju.

Glavna prednost prvog standarda CP866 bila je očuvanje pseudografskih znakova na istim pozicijama kao u proširenom ASCII-u. Ovo je omogućilo pokretanje bez izmjena stranih tekstualnih programa, kao što je dobro poznati Norton Commander. Trenutno se CP866 koristi za programe razvijene pod Windows-om koji rade u tekstualnom modu preko cijelog ekrana ili u tekstualnim prozorima, uključujući FAR Manager.

Kompjuterski tekstovi pisani u CP866 kodiranju su prilično rijetki u posljednje vrijeme, ali se upravo to kodiranje koristi za ruske nazive datoteka u Windows-u.

"Unicode"

U ovom trenutku, upravo je ovo kodiranje dobilo najširu upotrebu. Unicode kodovi su podijeljeni na područja. Prvi (U + 0000 do U + 007F) uključuje ASCII znakove sa kodovima. Zatim slijede područja znakova različitih nacionalnih pisama, kao i znakova interpunkcije i tehničkih simbola. Osim toga, neki od "Unicode" kodova su rezervirani u slučaju da u budućnosti bude potrebe za uključivanjem novih znakova.

Sada znate da je u ASCII-u svaki znak predstavljen kao kombinacija 8 nula i jedinica. Nespecijalistima ove informacije mogu izgledati nepotrebne i nezanimljive, ali zar ne želite da znate šta se dešava "u mozgu" vašeg računara ?!

Skup znakova kojim se piše tekst naziva se abeceda.

Broj znakova u abecedi je njegov moć.

Formula za određivanje količine informacija: N = 2 b,

gdje je N kardinalnost abecede (broj znakova),

b - broj bitova (informaciona težina karaktera).

Abeceda kapaciteta 256 znakova može primiti gotovo sve potrebne znakove. Ova abeceda se zove dovoljno.

Jer 256 = 2 8, tada je težina 1 znaka 8 bita.

8-bitna jedinica je dobila ime 1 bajt:

1 bajt = 8 bitova.

Binarni kod svakog znaka u kompjuterskom tekstu zauzima 1 bajt memorije.

Kako su tekstualne informacije predstavljene u memoriji računara?

Pogodnost bajt kodiranja znakova je očigledna, budući da je bajt najmanji adresabilni dio memorije i stoga procesor može pristupiti svakom karakteru zasebno, obavljajući obradu teksta. S druge strane, 256 znakova je sasvim dovoljan broj za predstavljanje širokog spektra informacija o znakovima.

Sada se postavlja pitanje kakvu vrstu osmobitnog binarnog koda povezati sa svakim znakom.

Jasno je da je ovo uslovna stvar, možete smisliti mnoge metode kodiranja.

Svi znakovi kompjuterske abecede su numerisani od 0 do 255. Svaki broj odgovara osmocifrenom binarnom kodu od 00000000 do 11111111. Ovaj kod je jednostavno redni broj znaka u binarnom sistemu.

Tabela u kojoj su svim znakovima kompjuterske abecede dodijeljeni serijski brojevi naziva se tabela kodiranja.

Za različite tipove računara koriste se različite tablice kodiranja.

Međunarodni standard za PC je postao stol ASCII(čitaj asci) (Američki standardni kod za razmjenu informacija).

ASCII tabela je podijeljena na dva dijela.

Međunarodni standard je samo prva polovina tabele, tj. simboli sa brojevima iz 0 (00000000), do 127 (01111111).

Struktura ASCII tablice kodiranja

Serijski broj

Kod

Simbol

0 - 31

00000000 - 00011111

Simboli sa brojevima od 0 do 31 obično se nazivaju kontrolni znakovi.
Njihova funkcija je kontrola procesa prikazivanja teksta na ekranu ili štampanja, davanja zvučnog signala, označavanja teksta itd.

32 - 127

00100000 - 01111111

Standardni dio tabele (engleski). Ovo uključuje mala i velika slova latinice, decimalne cifre, znakove interpunkcije, sve vrste zagrada, komercijalne i druge simbole.
Znak 32 je razmak, tj. prazna pozicija u tekstu.
Svi ostali se ogledaju u određenim znacima.

128 - 255

10000000 - 11111111

Alternativni dio tabele (ruski).
Druga polovina tabele kodova ASCII, nazvana kodna stranica (128 kodova, počevši od 10000000 i završavajući sa 11111111), može imati različite varijante, svaka varijanta ima svoj broj.
Kodna stranica se prvenstveno koristi za smještaj nacionalnih alfabeta osim latinice. U ruskim nacionalnim kodovima, ovaj dio tabele sadrži simbole ruskog alfabeta.

Prva polovina ASCII tabele


Skrećem vam pažnju da su u tablici kodiranja slova (velika i mala slova) raspoređena abecednim redom, a brojevi rastućim redoslijedom vrijednosti. Ovo poštovanje leksikografskog reda u rasporedu znakova naziva se princip sekvencijalnog kodiranja abecede.

Za slova ruske abecede također se poštuje princip sekvencijalnog kodiranja.

Druga polovina ASCII tabele


Nažalost, trenutno postoji pet različitih ćiriličkih kodiranja (KOI8-R, Windows. MS-DOS, Macintosh i ISO). Zbog toga često nastaju problemi sa prenosom ruskog teksta sa jednog računara na drugi, iz jednog softverskog sistema u drugi.

Hronološki, jedan od prvih standarda za kodiranje ruskih slova na računarima bio je KOI8 („Kod za razmjenu informacija, 8-bitni“). Ovo kodiranje se koristilo još 70-ih godina na računarima serije računara ES, a od sredine 80-ih počelo je da se koristi u prvim rusifikovanim verzijama UNIX operativnog sistema.

Od početka 90-ih, vremena dominacije operativnog sistema MS DOS, ostaje CP866 kodiranje („CP“ je skraćenica za „Code Page“).

Apple računari koji koriste Mac OS koriste vlastito Mac kodiranje.

Pored toga, Međunarodna organizacija za standardizaciju (International Standards Organization, ISO) odobrila je još jedno kodiranje pod nazivom ISO 8859-5 kao standard za ruski jezik.

Trenutno, najčešće kodiranje je Microsoft Windows, skraćeno CP1251.

Od kasnih 90-ih, problem standardizacije kodiranja znakova riješen je uvođenjem novog međunarodnog standarda tzv. Unicode... Ovo je 16-bitno kodiranje, tj. dodjeljuje 2 bajta memorije za svaki znak. Naravno, ovo udvostručuje količinu korištene memorije. Ali s druge strane, takva kodna tabela omogućava uključivanje do 65536 znakova. Kompletna specifikacija Unicode standarda uključuje sve postojeće, izumrle i umjetno stvorene alfabete svijeta, kao i mnoge matematičke, muzičke, hemijske i druge simbole.

Pokušajmo koristiti ASCII tablicu da zamislimo kako će riječi izgledati u memoriji računara.

Interno predstavljanje riječi u memoriji računara

Ponekad se desi da se tekst koji se sastoji od slova ruske abecede, primljen sa drugog računara, ne može pročitati - na ekranu monitora je vidljiva neka vrsta "brblja". To je zbog činjenice da računari koriste različito kodiranje znakova ruskog jezika.

Preklapanje simbola

BS (backspace) znak omogućava štampaču da prepiše jedan znak. U ASCII-u je predviđeno dodavanje dijakritičkih znakova slovima na ovaj način, na primjer:

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

Bilješka: u starim fontovima, apostrof "je nacrtan sa kosom ulijevo, a tilda ~ je pomaknuta prema gore, tako da samo odgovaraju ulozi akutne i tilde na vrhu.

Ako se isti simbol preloži na znak, onda se postiže efekat podebljanog fonta, a ako se na znak stavi donja crta, onda se dobija podvučeni tekst.

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

Bilješka: ovo se koristi, na primjer, u sistemu pomoći za čovjeka.

Nacionalne ASCII varijante

Standard ISO 646 (ECMA-6) pruža mogućnost postavljanja nacionalnih znakova na svoje mjesto @ [ \ ] ^ ` { | } ~ ... Pored ovoga, na mestu # može se smjestiti £ , i na mjestu $ - ¤ ... Ovaj sistem je veoma pogodan za evropske jezike gde je potrebno samo nekoliko dodatnih znakova. ASCII verzija bez nacionalnih znakova naziva se US-ASCII ili "Međunarodna referentna verzija".

Nakon toga, pokazalo se da je zgodnije koristiti 8-bitna kodiranja (kodnih stranica), gdje je donja polovina kodne tablice (0-127) okupirana US-ASCII znakovima, a gornja polovina (128-255) zauzimaju dodatni znakovi, uključujući skup nacionalnih znakova. Dakle, gornja polovina ASCII tabele, prije širokog usvajanja Unicodea, aktivno se koristila za predstavljanje lokaliziranih znakova, slova lokalnog jezika. Nedostatak jedinstvenog standarda za postavljanje ćiriličkih znakova u ASCII tabelu izazvao je mnoge probleme sa kodiranjem (KOI-8, Windows-1251 i drugi). Drugi jezici s nelatinskim pismom također su patili od prisustva nekoliko različitih kodiranja.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. NUL SOM EOA EOM EQT WRU RU BELL BKSP Ht LF VT FF CR SO SI
1. DC 0 DC 1 DC 2 DC 3 DC 4 ERR SYNC LEM S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7
2.
3.
4. BLANK ! " # $ % & " ( ) * + , - . /
5. 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
6.
7.
8.
9.
A. @ A B C D E F G H I 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. str q r s t u v w x y z ITD DEL

Na onim računarima gdje je minimalna adresabilna jedinica memorije bila 36-bitna riječ, u početku su korišteni 6-bitni znakovi (1 riječ = 6 znakova). Nakon prelaska na ASCII na takvim računarima, počeli su da stavljaju ili 5 sedmobitnih karaktera u jednu reč (1 bit je ostao suvišan), ili 4 devetobitna znaka.

ASCII kodovi se takođe koriste za identifikaciju pritisnutog tastera tokom programiranja. Za standardnu ​​QWERTY tastaturu, tabela kodova izgleda ovako:

[8-bitna kodiranja: ASCII, KOI-8R i CP1251] Prve tabele skupova znakova kreirane u SAD-u nisu koristile osmi bit u bajtu. Tekst je predstavljen kao niz bajtova, ali osmi bit nije uzet u obzir (koristio se u servisne svrhe).

Općeprihvaćeni standard je postao tabela ASCII(Američki standardni kod za razmjenu informacija). Prva 32 ASCII znaka (00 do 1F) korištena su za znakove koji se ne mogu ispisati. Dizajnirani su za kontrolu uređaja za štampanje i slično. Ostatak - od 20 do 7F - su normalni (štampavi) znakovi.

Tabela 1 - ASCII kodiranje

decHexoktCharOpis
0 0 000 null
1 1 001 početak naslova
2 2 002 početak teksta
3 3 003 kraj teksta
4 4 004 kraj prenosa
5 5 005 upit
6 6 006 priznati
7 7 007 zvono
8 8 010 backspace
9 9 011 horizontalni jezičak
10 A 012 nova linija
11 B 013 vertikalna kartica
12 C 014 nova stranica
13 D 015 povrat kočije
14 E 016 prebaciti se
15 F 017 prebaciti se
16 10 020 bijeg podatkovne veze
17 11 021 kontrola uređaja 1
18 12 022 kontrola uređaja 2
19 13 023 kontrola uređaja 3
20 14 024 kontrola uređaja 4
21 15 025 negativno priznanje
22 16 026 sinhroni mirovanje
23 17 027 kraj trans. blok
24 18 030 otkaži
25 19 031 kraj medija
26 1A 032 zamjena
27 1B 033 bijeg
28 1C 034 separator fajlova
29 1D 035 separator grupe
30 1E 036 separator zapisa
31 1F 037 separator jedinice
32 20 040 svemir
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 ?
decHexoktChar
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 I
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 str
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

Kao što možete lako vidjeti, ovo kodiranje sadrži samo latinična slova, i to ona koja se koriste u engleskom jeziku. Tu su i aritmetički i drugi uslužni simboli. Ali ne postoje ruska slova, pa čak ni posebna latinična slova za njemački ili francuski. Ovo je lako objasniti - kodiranje je razvijeno posebno kao američki standard. Kada su kompjuteri počeli da se koriste širom sveta, postalo je neophodno kodiranje drugih simbola.

Za to je odlučeno da se koristi osmi bit u svakom bajtu. Tako je bilo dostupno još 128 vrijednosti (od 80 do FF), koje su se mogle koristiti za kodiranje znakova. Prva od osmobitnih tabela je "prošireni ASCII" ( Prošireni ASCII) - uključuje različite varijante latiničnih znakova koji se koriste u nekim jezicima zapadne Evrope. Sadržao je i druge dodatne simbole, uključujući pseudo grafiku.

Pseudografički znakovi omogućavaju, prikazujući samo tekstualne znakove, da pruže neki privid grafike. Na primjer, program za upravljanje datotekama FAR Manager radi uz pomoć pseudo-grafike.

U proširenoj ASCII tabeli nije bilo ruskih slova. U Rusiji (bivši SSSR) i drugim državama stvorena su vlastita kodiranja koja su omogućila predstavljanje specifičnih „nacionalnih“ znakova u 8-bitnim tekstualnim datotekama - latinična slova poljskog i češkog jezika, ćirilica (uključujući ruska slova ) i druga pisma.

U svim kodiranjima koja su postala široko rasprostranjena, prvih 127 znakova (to jest, vrijednosti bajta s osmim bitom jednakim 0) podudaraju se sa ASCII. Dakle, ASCII datoteka radi u bilo kojem od ovih kodiranja; slova engleskog jezika su predstavljena na isti način.

Organizacija ISO(Međunarodna organizacija za standardizaciju) usvojila je grupu standarda ISO 8859... Definira 8-bitna kodiranja za različite grupe jezika. Dakle, ISO 8859-1 je prošireni ASCII, tabela za Sjedinjene Države i Zapadnu Evropu. A ISO 8859-5 je tabela za ćirilicu (uključujući ruski).

Međutim, iz istorijskih razloga, ISO 8859-5 kodiranje se nije uhvatilo. U stvarnosti, za ruski jezik se koriste sljedeća kodiranja:

Kodna stranica 866 ( CP866), zvani “DOS”, zvani “alternativno GOST kodiranje”. Bio je u širokoj upotrebi do sredine 90-ih; sada se koristi u ograničenoj mjeri. Praktično se ne koristi za distribuciju tekstova na Internetu.
- KOI-8. Razvijen 70-ih i 80-ih godina. To je općeprihvaćeni standard za prijenos mail poruka na ruskom Internetu. Takođe se široko koristi u operativnim sistemima porodice Unix, uključujući Linux. Zove se verzija KOI-8, dizajnirana za ruski jezik KOI-8R; postoje verzije za druge ćiriličke jezike (na primjer, KOI8-U je opcija za ukrajinski jezik).
- Šifra 1251, CP1251, Windows-1251. Razvijen od strane Microsofta za podršku ruskom jeziku u Windows-u.

Glavna prednost CP866 bila je očuvanje pseudografskih znakova na istim mjestima kao u proširenom ASCII-u; stoga bi strani tekstualni programi, na primjer, čuveni Norton Commander, mogli raditi bez promjena. Danas se CP866 koristi za Windows programe koji rade u tekstualnim prozorima ili tekstualnom režimu preko celog ekrana, uključujući FAR Manager.

Poslednjih godina tekstovi u CP866 su prilično retki (ali se koristi za kodiranje ruskih imena datoteka u Windows-u). Stoga ćemo se detaljnije zadržati na dva druga kodiranja - KOI-8R i CP1251.



Kao što možete vidjeti, u tablici kodiranja CP1251 ruska slova su raspoređena po abecednom redu (osim, međutim, slova E). Ovaj raspored olakšava kompjuterskim programima da sortiraju po abecednom redu.

Ali u KOI-8R, redoslijed ruskih slova izgleda nasumičan. Ali zapravo nije.

Mnogi stariji programi izgubili su 8. bit prilikom obrade ili prijenosa teksta. (Sada su takvi programi praktički "izumrli", ali su kasnih 80-ih - ranih 90-ih bili široko rasprostranjeni). Da biste dobili 7-bitnu vrijednost od 8-bitne vrijednosti, oduzmite 8 od najznačajnije cifre; na primjer E1 postaje 61.

Sada uporedite KOI-8R sa ASCII tabelom (Tabela 1). Videćete da su ruska slova jasno usklađena sa latiničnim. Ako osmi bit nestane, mala ruska slova pretvaraju se u velika latinična slova, a velika ruska slova pretvaraju se u mala latinična slova. Dakle, E1 u KOI-8 je rusko "A", dok je 61 u ASCII latinično "a".

Dakle, KOI-8 vam omogućava da sačuvate čitljivost ruskog teksta dok gubite 8. bit. “Zdravo svima” postaje “pRIWET WSEM”.

Nedavno su i abecedni red znakova u tablici kodiranja i čitljivost sa gubitkom 8. bita izgubili odlučujuću važnost. Osmi bit se u savremenim računarima ne gubi ni tokom prenosa ni obrade. Sortiranje po abecednom redu zasniva se na kodiranju, a ne samo na upoređivanju kodova. (Usput, CP1251 kodovi nisu potpuno abecedni - slovo E nije na svom mjestu).

Zbog činjenice da postoje dva uobičajena kodiranja, kada radite sa Internetom (pošta, pregledavanje web stranica), ponekad možete vidjeti besmislen skup slova umjesto ruskog teksta. Na primjer, "Ja sam SBUFEMHEL". Ovo su samo riječi "s poštovanjem"; ali su bili kodirani u CP1251 kodiranju, a kompjuter je dekodirao tekst prema tabeli KOI-8. Ako su iste riječi bile, naprotiv, kodirane u KOI-8, a kompjuter je dekodirao tekst prema tabeli CP1251, rezultat će biti “U HČBCEOJEN”.

Ponekad se desi da kompjuter uopšte dešifruje slova ruskog jezika prema tabeli koja nije namenjena ruskom jeziku. Tada se umjesto ruskih slova pojavljuje besmislen skup simbola (na primjer, latinična slova istočnoevropskih jezika); često se nazivaju "krokozijabre".

U većini slučajeva, moderni programi se sami nose sa određivanjem kodiranja internetskih dokumenata (e-pošte i web stranica). Ali ponekad "zapadnu", i tada možete vidjeti čudne sekvence ruskih slova ili "krokozyabra". U pravilu, da bi se na ekranu prikazao pravi tekst, dovoljno je ručno odabrati kodiranje u meniju programa.

Za članak su korištene informacije sa stranice http://open-office.edusite.ru/TextProcessor/p5aa1.html.

Materijal preuzet sa sajta:

Top srodni članci