Çdo kompjuter ka grupin e vet të simboleve, të cilat i zbaton. Ky grup përmban 26 shkronja të mëdha dhe të vogla, numra dhe karaktere speciale (periudha, hapësira, etj.). Simbolet kur përkthehen në numra të plotë quhen kode. Standardet janë zhvilluar në mënyrë që kompjuterët të kenë të njëjtat grupe kodesh.
Standardi ASCII
ASCII (American Standard Code for Inmormation Interchange) është kodi standard amerikan për shkëmbimin e informacionit. Çdo karakter ASCII ka 7 bit, kështu që numri maksimal i karaktereve është 128 (Tabela 1). Kodet 0 deri në 1F janë karaktere kontrolli dhe nuk printohen. Për transferimin e të dhënave nevojiten shumë karaktere ASCII jo të printueshme. Për shembull, një mesazh mund të përbëhet nga karakteri i fillimit të titullit SOH, karakteri i fillimit të titullit STX dhe karakteri i fillimit të tekstit, vetë teksti ETX dhe karakteri i fundit të tekstit dhe karakteri i fundit i transmetimit EOT. Megjithatë, të dhënat në rrjet transmetohen në pako, të cilat janë vetë përgjegjëse për fillimin dhe përfundimin e transmetimit. Pra, karakteret jo të printueshme pothuajse nuk përdoren kurrë.
Tabela 1 - Tabela e kodit ASCII
Numri | Ekipi | Kuptimi | Numri | Ekipi | Kuptimi |
---|---|---|---|---|---|
0 | NUL | Treguesi null | 10 | DLE | Dalja nga sistemi i transmetimit |
1 | SOH | fillimi i titullit | 11 | DC1 | Menaxhimi i pajisjes |
2 | STX | Fillimi i tekstit | 12 | DC2 | Menaxhimi i pajisjes |
3 | ETX | Fundi i tekstit | 13 | DC3 | Menaxhimi i pajisjes |
4 | EOT | Fundi i transmetimit | 14 | DC4 | Menaxhimi i pajisjes |
5 | ACK | hetim | 15 | NAK | Moskonfirmimi i pranimit |
6 | BEL | Konfirmimi i pranimit | 16 | SYN | E thjeshtë |
7 | BS | Simboli i ziles | 17 | ETB | Fundi i bllokut të transferimit |
8 | Ht | Indent mbrapa | 18 | MUND | shënim |
9 | LF | Skeda horizontale | 19 | EM | Fundi i medias |
A | VT | Përkthimi i linjës | 1A | NËN | Abonim |
B | FF | Skeda vertikale | 1B | ESC | Dilni |
C | CR | Përkthimi i faqes | 1C | FS | Ndarës i skedarëve |
D | KËSHTU QË | Kthim ngarkese | 1D | GS | Ndarës grupi |
E | SI | Kalimi në regjistër shtesë | 1E | Rs | Ndarës rekordesh |
SI | Kaloni në regjistrin standard | 1F | SHBA | Ndarës i moduleve |
Numri | Simboli | Numri | Simboli | Numri | Simboli | Numri | Simboli | Numri | Simboli | Numri | Simboli |
---|---|---|---|---|---|---|---|---|---|---|---|
20 | hapësirë | 30 | 0 | 40 | @ | 50 | P | 60 | . | 70 | fq |
21 | ! | 31 | 1 | 41 | A | 51 | P | 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 | DHE | 65 | e | 75 | dhe |
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 |
Standardi Unicode
Kodimi i mëparshëm është i shkëlqyeshëm për anglisht, por jo i përshtatshëm për gjuhët e tjera. Për shembull, në gjermanisht ka umlauts, dhe në frëngjisht ka mbishkrime. Disa gjuhë kanë alfabete krejtësisht të ndryshme. Përpjekja e parë për të zgjeruar ASCII ishte IS646, e cila zgjeroi kodimin e mëparshëm me 128 karaktere shtesë. Shtoi shkronja latine me goditje dhe diakritikë dhe mori emrin - Latin 1. Përpjekja tjetër ishte IS 8859 - e cila përmbante një faqe kodi. Kishte ende përpjekje për zgjerime, por kjo nuk ishte universale. U krijua kodimi UNICODE (është 10646). Ideja prapa kodimit është që çdo karakteri t'i caktohet një vlerë e vetme konstante 16-bitëshe, e cila quhet - treguesi i kodit... Kjo jep një total prej 65536 treguesish. Për të kursyer hapësirë, ne përdorëm Latin-1 për kodet 0-255, duke ndryshuar lehtësisht ASII në UNICODE. Ky standard zgjidhi shumë probleme, por jo të gjitha. Në lidhje me ardhjen e fjalëve të reja, për shembull, për gjuhën japoneze, duhet të rrisni numrin e termave me rreth 20 mijë. Duhet të përfshini edhe shkrimin braille.
Simbolet e mbivendosjes
Karakteri BS (backspace) lejon printerin të mbishkruajë një karakter. Në ASCII, ishte parashikuar shtimi i diakritikëve në shkronja në këtë mënyrë, për shembull:
- a BS "→ á
- a BS `→ à
- a BS ^ → â
- o BS / → ø
- c BS, → ç
- n BS ~ → ñ
shënim: në shkronjat e vjetra, apostrofi "ishte vizatuar me një pjerrësi në të majtë, dhe tilda ~ u zhvendos lart, në mënyrë që ato të përshtaten vetëm me rolin e akut dhe të tildës sipër.
Nëse i njëjti simbol mbivendoset në një karakter, atëherë fitohet efekti i një fonti të theksuar, dhe nëse një nënvizim mbivendoset mbi një karakter, atëherë fitohet teksti i nënvizuar.
- a BS a → a
- a BS _ → a
shënim: kjo përdoret, për shembull, në sistemin e ndihmës mashkullore.
Variantet kombëtare të ASCII
Standardi ISO 646 (ECMA-6) ofron mundësinë e vendosjes së karaktereve kombëtare në vend @ [ \ ] ^ ` { | } ~ ... Përveç kësaj, në vend # mund të akomodohen £ , dhe në vend $ - ¤ ... Ky sistem është i përshtatshëm për gjuhët evropiane ku nevojiten vetëm disa karaktere shtesë. Versioni ASCII pa karaktere kombëtare quhet US-ASCII, ose "Versioni i referencës ndërkombëtare".
Më pas, doli të ishte më i përshtatshëm përdorimi i kodimeve 8-bit (faqet e kodit), ku gjysma e poshtme e tabelës së kodit (0-127) është e zënë nga karakteret US-ASCII, dhe gjysma e sipërme (128-255) është i zënë nga karaktere shtesë, duke përfshirë një grup karakteresh kombëtare. Kështu, gjysma e sipërme e tabelës ASCII, para miratimit të gjerë të Unicode, u përdor në mënyrë aktive për të përfaqësuar karaktere të lokalizuara, shkronja të gjuhës lokale. Mungesa e një standardi të unifikuar për vendosjen e karaktereve cirilike në tabelën ASCII shkaktoi shumë probleme me kodimet (KOI-8, Windows-1251 dhe të tjerët). Gjuhët e tjera me shkrim jo-latin gjithashtu vuanin nga prania e disa kodimeve të ndryshme.
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NUL | SOM | EOA | MVZ | EQT | WRU | RU | ZILE | BKSP | Ht | LF | VT | FF | CR | KËSHTU QË | SI |
1. | DC 0 | DC 1 | DC 2 | DC 3 | DC 4 | GABIM | SINkronizimi | 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 | P | 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. | fq | q | r | s | t | u | v | w | x | y | z | ESC | DEL |
Në ata kompjuterë ku njësia minimale e adresueshme e memories ishte një fjalë 36-bit, fillimisht u përdorën karaktere 6-bit (1 fjalë = 6 karaktere). Pas kalimit në ASCII në kompjuterë të tillë, ata filluan të vendosnin ose 5 karaktere shtatë-bitësh në një fjalë (1 bit mbeti i tepërt), ose 4 karaktere nëntë-bitësh.
Kodet ASCII përdoren gjithashtu për të identifikuar tastin e shtypur gjatë programimit. Për një tastierë standarde QWERTY, tabela e kodeve duket si kjo: