Caracter de control
În informatică , un caracter de control sau un caracter care nu poate fi afișat este un cod (un număr) dintr-un set de caractere care nu reprezintă el însuși un simbol scris. Toate caracterele din tabelul ASCII de sub poziția 32 se încadrează în această categorie, inclusiv BEL (care de obicei provoacă un beep în terminalul receptor), SYN (care este semnalul de sincronizare) și ENQ (un semnal care necesită un răspuns de la terminalul receptor) , pentru a cunoaște starea liniei). Standardul Unicode a adăugat multe caractere noi care nu pot fi afișate.
În tabelul ASCII
Caracterele de control din tabelul ASCII încă utilizate în mod obișnuit includ
- 7 (clopot), face ca terminalul receptor să emită un semnal sonor
- 8 (backspace), folosit pentru a șterge ultimul caracter afișat, de obicei cel imediat în stânga cursorului
- 9 (filă orizontală), filă orizontală
- 10 (flux de linie), folosit pentru a termina liniile de text în Mac OS X și mai târziu, Unix și variantele acestora.
- 12 (feed formular), pentru a termina pagina de pe imprimantă și pentru a trece la formularul următor
- 13 (retur de transport), retur de transport, utilizat pentru a termina liniile de text în Mac OS (în versiuni mai mici de 10) și în derivatele CP / M , inclusiv DOS ).
- 27 (evadare).
Uneori , o utilizare mai modernă a unor alte coduri se întâlnește, la fel ca în cazul EOT cod 4 (Sfârșit de transmitere), utilizat pentru a termina un Unix sau Linux shell sau o transmisie de date către PostScript imprimantă.
Codul 27 (Escape) este un caz care merită analizat. În timp ce multe dintre aceste caractere de control nu sunt utilizate niciodată, conceptul de trimitere a informațiilor de control al dispozitivului, intercalat cu caractere tipărite, este atât de util încât producătorii au găsit modalități de a trimite sute de instrucțiuni către dispozitive. Mai exact, au folosit o serie de caractere multiple, numite „ secvență de control ” sau „ secvență de evadare ”. De obicei, codul 27 a fost trimis mai întâi pentru a avertiza dispozitivul că următoarele caractere ar trebui interpretate ca o secvență de control, mai degrabă decât ca caractere normale, apoi unul sau mai multe caractere ulterioare au explicat ce acțiune trebuie întreprinsă, după care dispozitivul va reveni la interpretarea caracterelor în mod normal. De exemplu, secvența codului 27, urmată de caracterele tipărite „[2; 10H”, a determinat un terminal digital VT-102 să-și mute cursorul către cel de-al zecelea rând din a doua linie a ecranului. Există câteva standarde pentru aceste secvențe, mai alesANSI X3.64 (1979), care se baza pe comportamentul terminalelor din seria VT-100. Dar numărul de variante non-standard utilizate este mare, în special pentru imprimante, unde tehnologia a progresat mult mai repede, cu mult peste intervalul de timp impus de fiecare proces de standardizare.
Potrivirea caracterelor de control din tastatură
Tastaturile bazate pe ASCII au o tastă „ Control ” sau „Ctrl”, care este utilizată similar cu tasta Shift , care este apăsată în combinație cu o altă literă sau simbol pentru a determina tastatura să genereze unul dintre cele 32 de caractere de control.
În acest caz, tastatura produce un cod care este cu 64 de poziții sub codul de caractere al literei majuscule care a fost apăsat (în practică, bitul 5 este setat la zero). Apăsând „control” și litera „G” (cod 71), de exemplu, se produce codul 7 (Bell), denumit uneori și ^ G.
Tastaturile au, de asemenea, taste care produc singure coduri care aparțin caracterelor de control. De exemplu, tasta „Backspace”, care pe tastaturile italiene se află deasupra tastei „Enter” și este marcată de o săgeată lungă la stânga (←), produce codul 8; „Tab”, marcat cu două săgeți îndreptate către o bară verticală, produce codul 9, „Enter”, „Enter” sau „Return” codul 13 (chiar dacă unele tastaturi produc codul 10 pentru „Enter”) .
Tastaturile moderne au multe taste care nu corespund caracterelor ASCII sau caracterelor de control, cum ar fi tastele cursorului și funcțiile de procesare a textului . Aceste tastaturi comunică apăsarea acestor taste către computerul la care sunt conectate utilizând una dintre cele trei metode:
- însușind în acest scop personaje de control neutilizate
- folosind alte codificări decât ASCII
- folosind secvențe de control formate din mai multe caractere
Tastaturile conectate la computerele personale utilizează de obicei una (sau ambele) din primele două metode. Terminalele îl adoptă de obicei pe al treilea.
Împărțirea în familii
Caracterele de control au fost concepute pentru a se încadra în anumite grupuri: controlul tipăririi, controlul structurii datelor, controlul transmisiei și diverse.
Controlul imprimării
Caracterele de control de tipărire indică unde trebuie plasat următorul caracter. „Întoarcerea carului” indică inserarea caracterului la începutul liniei (se poate muta sau nu la următoarea linie). „Linia de alimentare” indică inserarea următorului caracter pe următoarea linie (și poate fi sau nu poziționată la începutul aceleiași linii). Filele orizontale și verticale indică imprimantei să mute capul la următoarea oprire de filă de-a lungul direcției de citire. Pozițiile „feed feed” la începutul unei noi foi. „ Shift In ” și „ Shift Out ” selectează seturi de caractere alternative, fonturi, subliniere sau alte moduri de imprimare. „Backspace” mută capul înapoi cu un caracter, astfel încât imprimanta să poată suprascrie pentru a crea caractere speciale.
Controlul structurilor de date
Caracterele de control de separare (grup, înregistrare etc.) au fost create pentru a structura datele, de obicei pe bandă magnetică , pentru a simula cărțile perforate .
End of media avertizează că banda (sau similar) se epuizează.
Controlul transmisiei
Caracterele de control ale transmisiei au fost destinate să structureze un pachet de date și să controleze când să îl retransmită în cazul unei erori.
„Începutul antetului” a marcat secțiunea fără date a pachetului - partea din mesaj care conține adresa și alte informații utile pentru transmisie. „Începutul textului” a marcat sfârșitul antetului și începutul părții care conține datele. „Sfârșitul textului” a marcat sfârșitul pachetului. O convenție standard este de a folosi cele două caractere care preced sfârșitul textului pentru verificarea parității mesajului ( CRC ).
„Evadarea” trebuia plasată în fața unei valori binare în cadrul unui mesaj, care altfel ar putea fi interpretată ca un caracter de control. De exemplu, valoarea pentru binarul 27 ar fi fost „escape” „escape”.
„Înlocuitorul” a fost conceput pentru a necesita traducerea următorului caracter, de la caracterul imprimabil la o valoare binară, de obicei prin setarea celui de-al cincilea bit la zero. Acest lucru este convenabil deoarece unele suporturi de transmisie transmit doar caractere tipărite.
„Anularea” ar fi oprit transmiterea unui pachet. Confirmarea negativă a necesitat o retransmisie a pachetului. „Confirmarea” a indicat că transmisia a fost recepționată cu succes.
Când mediul de transmisie funcționează în jumătate duplex (adică poate transmite doar într-o singură direcție la un moment dat), aveți de obicei o stație primară care poate transmite în orice moment și un post secundar care transmite numai atunci când are permisiunea. Ancheta a fost utilizată de stația primară pentru a solicita stației secundare să-și trimită următorul mesaj. O stație secundară a indicat că a terminat transmisia prin trimiterea unui „sfârșit de transmisie”.
Codurile de control periferice erau inițial generice, pentru a fi definite diferit pentru fiecare dispozitiv. Cu toate acestea, o nevoie universală de transmitere a datelor este de a solicita expeditorului să nu mai trimită date atunci când destinatarul nu poate accepta mai multe. Digital Equipment Corporation a inventat convenția care folosea 19, (controlul dispozitivului 3, cunoscut și sub numele de control S sau "X-OFF") pentru a opri transmisia ("S" de sus) și 17, (controlul dispozitivului 1, cunoscut sub numele de control Q , sau „X-ON”) pentru al porni. Acest lucru permite producătorilor să controleze transmisia fără a utiliza fire de control ale transmisiei în cablul de date. Acest lucru economisește bani și face operațiunile mai fiabile prin reducerea numărului de conexiuni din cablu.
„Scăparea legăturii de date” spune celuilalt capăt al legăturii de date să încheie sesiunea.
Variat
Multe dintre caracterele de control ASCII au fost concepute pentru periferice ale timpului, care nu mai sunt folosite astăzi. De exemplu, codul 22, „Inactiv sincron”, a fost trimis de modemuri sincrone (care trebuie să trimită date în mod constant) atunci când nu existau date de transmis - sistemele moderne folosesc de obicei un bit de start pentru a anunța începutul unei transmisii.
„Codul 0”, „nul”, este un caz special. În benzile perforate indică cazul când nu există găuri. Este convenabil să-l tratați ca pe un personaj inexistent.
„Cod 127” este, de asemenea, un caz special. Codul său este echivalent cu valoarea binară în care toți biții sunt setați la 1, ceea ce a facilitat ștergerea unei porțiuni de bandă perforată, un mediu de stocare obișnuit în acel moment, prin perforarea tuturor găurilor. Banda perforată a devenit rapid depășită, astfel încât această caracteristică nu a fost folosită niciodată. Dar, deoarece codul său se află în intervalul ocupat de alte caractere imprimabile, multe computere l-au folosit ca un caracter suplimentar imprimabil (adesea ca un pătrat complet negru, util pentru ștergerea textului prin suprascrierea acestuia).
Placi
Tabelul ASCII pe 7 biți definește 33 de coduri, de la 0 la 31 și 127 ca caractere de control.
Dec | Hex | Abbr | Numele fontului |
---|---|---|---|
00 | 0x00 | NUL | Nul |
01 | 0x01 | DECI H | Începutul titlului |
02 | 0x02 | STX | Începutul textului |
03 | 0x03 | ETX | Sfârșitul textului |
04 | 0x04 | EOT | Sfârșitul transmisiei |
05 | 0x05 | ENQ | Anchetă |
06 | 0x06 | ACK | Recunoașteți |
07 | 0x07 | GROZAV | clopot |
08 | 0x08 | BS | Backspace |
09 | 0x09 | HT | Filă orizontală |
10 | 0x0A | LF | Linie de alimentare |
11 | 0x0B | VT | Fila verticală |
12 | 0x0C | FF | Formular de alimentare |
13 | 0x0D | CR | Retur transport |
14 | 0x0E | ASA DE | Shift Out |
15 | 0x0F | DA | Schimbă în |
16 | 0x10 | DLE | Data Link Escape |
17 | 0x11 | DC1 | Control dispozitiv 1 |
18 | 0x12 | DC2 | Controlul dispozitivului 2 |
19 | 0x13 | DC3 | Control dispozitiv 3 |
20 | 0x14 | DC4 | Controlul dispozitivului 4 |
21 | 0x15 | NAK | Recunoaștere negativă |
22 | 0x16 | SYN | Inactiv sincron |
23 | 0x17 | ETB | Sfârșitul blocului de transmisie |
24 | 0x18 | POATE SA | Anulare |
25 | 0x19 | EM | Sfârșitul mediului |
26 | 0x1A | SUB | Substitui |
27 | 0x1B | ESC | Evadare |
28 | 0x1C | FS | Separator de fișiere |
29 | 0x1D | GS | Separator de grup |
30 | 0x1E | RS | Separator de înregistrări |
31 | 0x1F | S.U.A. | Separator de unitate |
127 | 0x7F | AL | Elimină / Șterge |
Tabelul compatibil ISO-8859-1 pe 8 biți mapează suplimentar cele 32 de coduri din poziția 128 până la 159, care nu sunt utilizate în specificațiile ISO / IEC 8859-1 , atribuindu-le caracterelor de control.
Dec | Hex | Abbr | Numele fontului |
---|---|---|---|
128 | 0x80 | PAD | Caracter de căptușire |
129 | 0x81 | HOP | Presetare înaltă pentru octet |
130 | 0x82 | BPH | Pauza permisă aici |
131 | 0x83 | NBH | Nici o pauză aici |
132 | 0x84 | IND | Index |
133 | 0x85 | ÎN | Linia următoare |
134 | 0x86 | SSA | Începutul zonei selectate |
135 | 0x87 | ESA | Sfârșitul zonei selectate |
136 | 0x88 | HTS | Set de file orizontale |
137 | 0x89 | HTJ | Fila orizontală justificată |
138 | 0x8A | VTS | Set de file verticale |
139 | 0x8B | PLD | Linie parțială înainte |
140 | 0x8C | PLU | Linie parțială înapoi |
141 | 0x8D | RE | Inversare linie inversă |
142 | 0x8E | SS2 | Tasta simplă 2 |
143 | 0x8F | SS3 | Schimbare simplă 3 |
144 | 0x90 | DCS | Șir de control al dispozitivului |
145 | 0x91 | PU1 | Utilizare privată 1 |
146 | 0x92 | PU2 | Utilizare privată 2 |
147 | 0x93 | STS | Setați Transmit State |
148 | 0x94 | CCH | Anulați caracterul |
149 | 0x95 | MW | Mesaj în așteptare |
150 | 0x96 | SPA | Începutul zonei protejate |
151 | 0x97 | EPA | Sfârșitul zonei protejate |
152 | 0x98 | SOS | Începutul șirului |
153 | 0x99 | SGCI | Introducere grafică unică |
154 | 0x9A | SCHI | Introducere unică Char |
155 | 0x9B | CSI | Introducere în secvența de control |
156 | 0x9C | SF | String Terminator |
157 | 0x9D | OSC | Comandă OS |
158 | 0x9E | P.M | Mesaj privat |
159 | 0x9F | APC | Aplicația Program Command |
Elemente conexe
- Notări pentru utilizarea tastei de control
- Buton modificator
- Caracter de evadare
- Tasta Alt
Controlul autorității | GND ( DE ) 4555289-7 |
---|