Svaki računar ima svoj skup simbola koje implementira. Ovaj set sadrži 26 velikih i malih slova, brojeva i posebnih znakova (tačka, razmak, itd.). Simboli kada se prevedu u cijele brojeve nazivaju se kodovi. Standardi su razvijeni tako da računari imaju isti skup kodova.
ASCII standard
ASCII (American Standard Code for Inmormation Interchange) je američki standardni kod za razmjenu informacija. Svaki ASCII znak ima 7 bita, tako da je maksimalni broj znakova 128 (Tabela 1). Kodovi od 0 do 1F su kontrolni znakovi i ne štampaju se. Za prijenos podataka potrebno je mnogo ASCII znakova koji se ne mogu ispisati. Na primjer, poruka se može sastojati od znaka za početak SOH naslova, STX zaglavlja i znaka za početak teksta, samog ETX teksta i znaka za kraj teksta i znaka za kraj prijenosa EOT. Međutim, podaci na mreži se prenose u paketima, koji su sami odgovorni za početak i kraj prijenosa. Dakle, znakovi koji se ne mogu štampati se gotovo nikada ne koriste.
Tabela 1 - Tabela ASCII kodova
Broj | Zapovjedi | Značenje | Broj | Zapovjedi | Značenje |
---|---|---|---|---|---|
0 | NUL | Null pokazivač | 10 | DLE | Izlazak iz sistema prenosa |
1 | SOH | početak naslova | 11 | DC1 | Upravljanje uređajima |
2 | STX | Početak teksta | 12 | DC2 | Upravljanje uređajima |
3 | ETX | Kraj teksta | 13 | DC3 | Upravljanje uređajima |
4 | EOT | Kraj prijenosa | 14 | DC4 | Upravljanje uređajima |
5 | ACK | Upit | 15 | NAK | Nepotvrda prijema |
6 | BEL | Potvrda prijema | 16 | SYN | Jednostavno |
7 | BS | Simbol zvona | 17 | ETB | Kraj bloka prijenosa |
8 | Ht | Uvlačenje nazad | 18 | CAN | Bilješka |
9 | LF | Horizontalna kartica | 19 | EM | Kraj medija |
A | VT | Prevođenje linija | 1A | SUB | Subscript |
B | FF | Vertikalna kartica | 1B | ITD | Izlaz |
C | CR | Prijevod stranice | 1C | FS | File separator |
D | SO | Povrat kočije | 1D | GS | Grupni separator |
E | SI | Prelazak na dodatni registar | 1E | Rs | Razdjelnik zapisa |
SI | Prebacite se na standardni registar | 1F | US | Razdjelnik modula |
Broj | Simbol | Broj | Simbol | Broj | Simbol | Broj | Simbol | Broj | Simbol | Broj | Simbol |
---|---|---|---|---|---|---|---|---|---|---|---|
20 | svemir | 30 | 0 | 40 | @ | 50 | P | 60 | . | 70 | str |
21 | ! | 31 | 1 | 41 | A | 51 | Q | 61 | a | 71 | q |
22 | ‘ | 32 | 2 | 42 | B | 52 | R | 62 | b | 72 | r |
23 | # | 33 | 3 | 43 | C | 53 | S | 63 | c | 73 | s |
24 | φ | 34 | 4 | 44 | D | 54 | T | 64 | d | 74 | t |
25 | % | 35 | 5 | 45 | E | 55 | I | 65 | e | 75 | i |
26 | & | 36 | 6 | 46 | F | 56 | V | 66 | f | 76 | v |
27 | ‘ | 37 | 7 | 47 | G | 57 | W | 67 | g | 77 | w |
28 | ( | 38 | 8 | 48 | H | 58 | X | 68 | h | 78 | x |
29 | ) | 39 | 9 | 49 | I | 59 | Y | 69 | i | 70 | y |
2A | ‘ | 3A | ; | 4A | J | 5A | Z | 6A | j | 7A | z |
2B | + | 3B | ; | 4B | K | 5B | [ | 6B | k | 7B | { |
2C | ‘ | 3C | < | 4C | L | 5C | \ | 6C | l | 7C | | |
2D | — | 3D | = | 4D | M | 5D | ] | 6D | m | 7D | } |
2E | 3E | > | 4E | N | 5E | — | 6E | n | 7E | ~ | |
2F | / | 3F | g | 4F | O | 5F | _ | 6F | o | 7F | DEL |
Unicode standard
Prethodno kodiranje je odlično za engleski, ali nije prikladno za druge jezike. Na primjer, u njemačkom postoje umlauti, a u francuskom postoje superskripti. Neki jezici imaju potpuno različita pisma. Prvi pokušaj proširenja ASCII-a bio je IS646, koji je proširio prethodni kodiranje za dodatnih 128 znakova. Dodata su latinična slova sa potezima i dijakritičkim znacima i dobila naziv - latinica 1. Sljedeći pokušaj je bio IS 8859 - koji je sadržavao kodnu stranicu. Bilo je još pokušaja proširenja, ali to nije bilo univerzalno. UNICODE kodiranje je kreirano (je 10646). Ideja iza kodiranja je da se svakom znaku dodeli jedna konstantna 16-bitna vrednost, koja se zove - kodni pokazivač... Ovo daje ukupno 65536 pokazivača. Da bismo uštedjeli prostor, koristili smo latinicu-1 za kodove 0-255, lako mijenjajući ASII u UNICODE. Ovaj standard je riješio mnoge probleme, ali ne sve. U vezi sa dolaskom novih riječi, na primjer, za japanski jezik, potrebno je povećati broj pojmova za oko 20 hiljada. Također morate uključiti Brajevu azbuku.
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 akuta 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 tablice, 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: