Coduri de control C0 și C1 - C0 and C1 control codes

De C0 și C1 cod de control sau de control de caractere seturi definesc codurile de control pentru a fi utilizate în text prin sisteme informatice care utilizarea ASCII și derivați de ASCII. Codurile reprezintă informații suplimentare despre text, cum ar fi poziția unui cursor, o instrucțiune pentru a începe o nouă linie sau un mesaj care a primit textul.

Codurile C0 sunt gama 00 HEX –1F HEX și setul implicit C0 a fost inițial definit în ISO 646 ( ASCII ). Codurile C1 sunt în intervalul 80 HEX –9F HEX și setul implicit C1 a fost inițial definit în ECMA-48 (armonizat ulterior cu ISO 6429). Sistemul ISO / IEC 2022 de specificare a controlului și a caracterelor grafice permite ca alte seturi C0 și C1 să fie disponibile pentru aplicații specializate, dar acestea sunt rareori utilizate.

Comenzi C0

ASCII a definit 32 de caractere de control, plus unul suplimentar necesar pentru caracterul DEL-all-1 (necesar pentru a șterge toate găurile de pe o bandă de hârtie și a-l șterge).

Acest număr mare de coduri era de dorit la vremea respectivă, deoarece controalele multi-octeți ar necesita implementarea unei mașini de stare în terminal, ceea ce era foarte dificil cu electronica și terminalele mecanice contemporane. De atunci, doar câteva dintre comenzile originale și-au menținut utilizarea: gama „spațiu alb” de BS, TAB, LF, VT, FF și CR; codul BEL; și ESC (dar, cu excepția ISO-2022-JP , aproape întotdeauna ca parte a unui ESC, '[' reprezentare CSI începând o secvență de evacuare ANSI ). Alții sunt neutilizați sau au căpătat semnificații diferite, cum ar fi NUL fiind terminatorul șirului C.

Unele protocoale de transmisie în serie, cum ar fi ANPA-1312 , Kermit și XMODEM , utilizează pe scară largă caracterele de control SOH, STX, ETX, EOT, ACK, NAK și SYN în scopul apropierii definițiilor lor originale.

Coduri de control ASCII de bază

Acestea sunt codurile de control ASCII standard, definite inițial în ANSI X3.4 . Dacă se utilizează mecanismul de extensie ISO / IEC 2022 , acestea sunt desemnate ca set de caractere de control activ C0 cu secvența de octet 0x1B 0x21 0x40( ESC ! @).

Sec Dec Hex Abreviere Simbol Nume C Descriere
^@ 00 00 NUL Nul \0 Folosit inițial pentru a permite lăsarea golurilor pe banda de hârtie pentru editări. Utilizat ulterior pentru umplere după un cod care ar putea dura un timp la terminarea procesării unui terminal (de exemplu, o întoarcere a căruciorului sau o linie de alimentare pe un terminal de imprimare). Acum este adesea folosit ca terminator de șiruri, în special în limbajul de programare C.
^A 01 01 DECI H Începutul titlului În transmiterea mesajului, delimitează începutul unui antet de mesaj. Formatul acestui antet poate fi definit de un protocol aplicabil, cum ar fi IPTC 7901 pentru transmiterea textului jurnalistic, și este de obicei terminat de STX. În Hadoop , este adesea folosit ca separator de câmp.
^B 02 02 STX Începutul textului Primul caracter al textului mesajului și poate fi utilizat pentru a termina antetul mesajului.
^C 03 03 ETX Sfârșitul textului În transmiterea mesajului, delimitează sfârșitul textului principal al unui mesaj. Poate fi urmat de „informații post-text” (adică un subsol structurat) definit de un protocol aplicabil sau de orice text suplimentar, urmat de EOT. În introducerea tastaturii, adesea folosit ca un caracter "break" (Ctrl-C) pentru a întrerupe sau termina un program sau proces.
^D 04 04 EOT Sfârșitul transmisiei Delimitează sfârșitul unui mesaj transmis, care poate include un antet, textul mesajului și subsolul post-text, sau chiar mai multe texte și titluri asociate. Poate fi, de asemenea, utilizat pentru a plasa terminalele în standby. Adesea folosit pe Unix pentru a indica sfârșitul fișierului pe un terminal, interpretat de shell ca comandă exitsau logout.
^E 05 05 ENQ Anchetă Semnal destinat să declanșeze un răspuns la capătul receptor, pentru a vedea dacă acesta este încă prezent.
^F 06 06 ACK Recunoașteți Răspuns la un ENQ sau o indicație a primirii cu succes a unui mesaj.
^G 07 07 BEL Bell , Alert \a Folosit inițial pentru a suna un clopot pe terminal. Ulterior folosit pentru un semnal sonor la sistemele care nu aveau clopot fizic. De asemenea, poate activa și dezactiva rapid videoclipul invers (un clopot vizual).
^H 08 08 BS Backspace \b Deplasați cursorul cu o poziție spre stânga. La introducere, acest lucru poate șterge caracterul din stânga cursorului. La ieșire, unde în tehnologia computerizată timpurie un caracter odată tipărit nu putea fi șters, backspace a fost uneori folosit pentru a genera caractere accentuate în ASCII. De exemplu, àar putea fi produs folosind secvența de trei caractere a BS `(sau, folosind valorile hexagonale ale caracterelor 0x61 0x08 0x60). Această utilizare nu este acum acceptată în general (este interzisă, de exemplu, în ISO / IEC 8859 ). Pentru a oferi dezambiguizare între cele două utilizări potențiale ale backspace-ului, codul de control al caracterelor de anulare a făcut parte din setul standard de control C1.
^I 09 09 HT Tabelarea caracterelor, Tabelarea orizontală \t Poziționați la următoarea oprire pentru tab .
^J 10 0A LF Linie de alimentare \n Pe mașini de scris , imprimante și unele emulatoare de terminal , deplasează cursorul în jos cu un rând fără a afecta poziția coloanei sale. Pe Unix, folosit pentru a marca sfârșitul liniei . În DOS , Windows și în diferite standarde de rețea, LF este utilizat după CR ca parte a marcajului de sfârșit de linie.
^K 11 0B VT Tabelare de linie, Tabelare verticală \v Poziționați formularul la următoarea linie de tab.
^L 12 0C FF Formular de alimentare \f Pe imprimante, încărcați pagina următoare. Tratat ca spațiu alb în multe limbaje de programare și poate fi utilizat pentru a separa diviziunile logice din cod. În unele emulatoare de terminal, șterge ecranul. Apare în continuare în unele fișiere de text simplu ca un caracter de pauză de pagină , cum ar fi RFC - urile publicate de IETF .
^M 13 0D CR Retur transport \r Folosit inițial pentru a muta cursorul la coloana zero în timp ce rămâneți pe aceeași linie. Pe Mac OS clasic (pre- Mac OS X ), precum și în sistemele anterioare, cum ar fi Apple II și Commodore 64 , utilizate pentru a marca sfârșitul liniei . În DOS , Windows și diferite standarde de rețea, este utilizat înaintea LF ca parte a marcajului de sfârșit de linie. Tasta Enter sau Return pe o tastatură va trimite acest caracter, dar poate fi convertită într-o secvență diferită de sfârșit de linie de către un program terminal.
^N 14 0E ASA DE Shift Out Treceți la un set de caractere alternativ.
^O 15 0F SI Schimbă în Reveniți la setul de caractere obișnuit după Shift Out.
^P 16 10 DLE Data Link Escape Cauza unui număr limitat de octeți care urmează în mod contiguu să fie interpretate într-un mod diferit, de exemplu ca date brute (spre deosebire de codurile de control sau caracterele grafice). Detaliile acestui lucru depind de implementare.

Au existat standarde precum (acum retrasă) ECMA-37 pentru aplicații specifice ale caracterului Data Link Escape pentru accesarea funcțiilor suplimentare de control al transmisiei.

Schema de compresie standard pentru Unicode sugerează înlocuirea tuturor octeților din intervalul C0 cu DLE, urmat de acel octet plus 0x40, dacă datele SCSU trebuie transmise pe un sistem care ar fi confundat de reutilizarea SCSU a octeților C0.

^Q 17 11 DC1 Device Control One ( XON ) Aceste patru coduri de control sunt rezervate pentru controlul dispozitivului, interpretarea depinzând de dispozitivul la care au fost conectate. DC1 și DC2 au fost destinate în principal pentru a indica activarea unui dispozitiv, în timp ce DC3 și DC4 au fost destinate în principal pentru a indica întreruperea sau oprirea unui dispozitiv. DC1 și DC3 (cunoscute și sub numele XON și respectiv XOFF în această utilizare) au apărut ca funcții de „pornire și oprire cititor de bandă de hârtie la distanță” în rețelele ASCII Telex . Această utilizare a teleprinterului a devenit standardul de facto pentru controlul fluxului software .
^R 18 12 DC2 Controlul dispozitivului doi
^S 19 13 DC3 Device Control Three ( XOFF )
^T 20 14 DC4 Controlul dispozitivului patru
^U 21 15 NAK Recunoaștere negativă Trimis de o stație ca răspuns negativ la stația cu care a fost stabilită conexiunea. În protocolul de comunicație sincronă binară, NAK este utilizat pentru a indica faptul că a fost detectată o eroare în blocul primit anterior și că receptorul este gata să accepte retransmiterea acelui bloc. În sistemele multipunct, NAK este utilizat ca răspuns ne-pregătit la un sondaj.
^V 22 16 SYN Inactiv sincron Utilizat în sistemele de transmisie sincrone pentru a furniza un semnal de la care se poate realiza corecția sincronă între echipamentele terminale de date, în special atunci când nu se transmite alt caracter.
^W 23 17 ETB Sfârșitul blocului de transmisie Indică sfârșitul unui bloc de transmisie de date atunci când datele sunt împărțite în astfel de blocuri în scopul transmiterii.

Dacă nu este utilizat în alt scop, IPTC 7901 recomandă interpretarea ETB ca caracter de sfârșit de paragraf.

^X 24 18 POATE SA Anulare Indică faptul că datele anterioare sunt eronate sau trebuie ignorate.
^Y 25 19 EM Sfârșitul mediului Destinat ca mijloc de a indica pe hârtie sau benzi magnetice că a fost atins capătul porțiunii utilizabile a benzii. De asemenea, ar putea marca sfârșitul porțiunii folosite a mediului și nu corespunde neapărat sfârșitului fizic al mediului.

Dacă nu este utilizat în alt scop, IPTC 7901 recomandă refacerea EM ca spațiu em pentru indentarea primei linii a unui paragraf (vezi și EMSP ).

^Z 26 1A SUB Substitui Destinat inițial pentru a fi utilizat ca caracter de control al transmisiei, pentru a indica faptul că au fost primite caractere zdrențuite sau invalide. De multe ori a fost folosit în alte scopuri atunci când semnalizarea în bandă a erorilor pe care le furnizează este inutilă, mai ales în cazul în care sunt folosite metode solide de detectare și corectare a erorilor sau în care se așteaptă ca erorile să fie suficient de rare pentru a utiliza caracterul pentru alte scopuri recomandabile. În DOS , Windows , CP / M și în derivatele sistemelor de operare Digital Equipment Corporation , este utilizat pentru a indica sfârșitul fișierului, atât la tastarea pe terminal, cât și uneori în fișierele text stocate pe disc.
^[ 27 1B ESC Evadare \e Tasta Esc de pe tastatura va determina acest caracter să fie trimise pe majoritatea sistemelor. Poate fi folosit în interfețele utilizatorului software pentru a ieși dintr-un ecran, meniu sau mod sau în protocoale de control al dispozitivului (de exemplu, imprimante și terminale) pentru a semnaliza că ceea ce urmează este o secvență specială de comandă, mai degrabă decât un text normal. În sistemele bazate pe ISO / IEC 2022 , chiar dacă se utilizează un alt set de coduri de control C0, acest octet este necesar să reprezinte întotdeauna caracterul de evacuare.

^\ 28 1C FS Separator de fișiere Poate fi folosit ca delimitatori pentru a marca câmpurile structurilor de date. Dacă este utilizat pentru niveluri ierarhice, SUA este cel mai scăzut nivel (împărțind elementele de date cu text simplu), în timp ce RS, GS și FS au un nivel crescător pentru a împărți grupurile formate din elemente ale nivelului de sub acesta.

Info Unix format foloseste din SUA, urmat opțional de un formular de alimentare și o linie de pauză, pentru a marca începutul unui nod.

MARC 21 folosește SUA ca delimitator de subcâmp, RS ca terminator de câmp și GS ca terminator de înregistrare.

În ediția curentă a IPTC 7901 , dacă acestea nu sunt utilizate în alte scopuri, SUA este recomandată pentru utilizare ca separator de coloane în tabele, FS ca „Separator de câmp central” în tabele și respectiv GS și RS pentru marcarea unui spațiu următor sau cratimă-minus ca non-break sau respectiv soft (în seturile de caractere care nu furnizează caractere explicite NBSP și SHY).

Python e splitlinesmetoda șir tratează FS, GS și RS, dar nu din SUA, ca separatori în plus față de-rupere de linie de caractere.

^] 29 1D GS Separator de grup
^^ 30 1E RS Separator de înregistrări
^_ 31 1F S.U.A. Separator de unitate
Deși nu face parte din punct de vedere tehnic al gamei de caractere de control C0, următoarele două caractere sunt definite în ISO / IEC 2022 ca fiind întotdeauna disponibile indiferent de ce seturi de caractere de control și caractere grafice au fost înregistrate. Se poate considera că au unele caracteristici ale caracterelor de control.
  32 20 SP Spaţiu Spațiul este un personaj grafic. Are o reprezentare vizuală constând în absența unui simbol grafic. Face ca poziția activă să fie avansată cu o poziție de un singur caracter. În unele aplicații, Spațiul poate fi considerat un „separator de cuvinte” la cel mai scăzut nivel pentru a fi utilizat cu caracterele separatoare adiacente.
^? 127 7F DEL Șterge Nu face parte din punct de vedere tehnic al gamei de caractere de control C0, aceasta a fost inițial utilizată pentru a marca caracterele șterse pe bandă de hârtie, deoarece orice caracter ar putea fi schimbat în toate prin perforarea găurilor peste tot. Pe terminalele compatibile VT100 , acesta este caracterul generat de cheia etichetată ⌫, denumită de obicei backspace pe mașinile moderne și nu corespunde tastei de ștergere a computerului .

Numele numărului de categorie

Câteva dintre codurile de control ASCII de bază sunt clasificate în câteva categorii și uneori li se oferă denumiri prescurtate alternative care constau din acea categorie și un număr:

  • Comenzi ale transmisiei: TC 1 (SOH), TC 2 (STX), TC 3 (ETX), TC 4 (EOT), TC 5 (ENQ), TC 6 (ACK), TC 7 (DLE), TC 8 (NAK) , TC 9 (SYN), TC 10 (ETB).
  • Efectori de format: FE 0 (BS), FE 1 (HT), FE 2 (LF), FE 3 (VT), FE 4 (FF), FE 5 (CR).
  • Comenzi dispozitiv: DC 1 , DC 2 , DC 3 , DC 4 .
  • Separatoare de informații: IS 1 (SUA), IS 2 (RS), IS 3 (GS), IS 4 (FS).
  • Ture de blocare: LS 0 (SI), LS 1 (SO).
  • Altele: NUL, BEL, CAN, EM, SUB, ESC.

ISO / IEC 2022 (ECMA-35) se referă la schimbările de blocare C0 ca LS0 și LS1 în mediile de 8 biți și ca SI și SO în mediile de 7 biți.

Prima ediție din 1963 a ASCII a clasificat DLE ca un control al dispozitivului, mai degrabă decât un control al transmisiei și i-a dat abrevierea DC0 („controlul dispozitivului rezervat pentru evadarea legăturilor de date”).

Codurile efector de format (FE) definesc și acționează formatarea (cum ar fi întreruperile de linie ) care afectează modul în care sunt prezentate și redate caracterele grafice, spre deosebire de controlul altor funcții ale dispozitivelor hardware sau de a avea alte efecte secundare. Efectoarele de format C0 sunt permise în secvențele ISO / IEC 6429 DCS , OSC , PM și APC . Separatoarele de informații și efectorii de format C0 (minus BS ) sunt singurele coduri de control C0 cu semantică definite de Standardul Unicode, interpretarea restului controalelor C0 rămânând la protocoalele de nivel superior.

ISO / IEC 2022 (ECMA-35) impune ca, dacă seturile de coduri de control C0 includ cele zece coduri de control al transmisiei ASCII (TC), acestea trebuie codificate în locațiile lor ASCII. De asemenea, interzice ca cele zece comenzi de transmisie să fie incluse într-un set de coduri de control C1 și interzice comenzile de transmisie, pe lângă cele zece, să fie incluse într-un set de control C0.

Seturi de coduri de control C0 modificate

Deși seturile de coduri de control C0 păstrează de obicei majoritatea codurilor de control ASCII neschimbate, se înregistrează un număr care înlocuiește anumite funcții de control cu ​​alternative. O selecție a acestora, cu excepția celor legate de Videotex , sunt prezentate mai jos.

Sec Dec Hex Înlocuit În seturi de coduri Abbrev Nume Descriere
^I 09 09 HT NATS, IPTC FO Formatare Folosit în date tabulare pentru a trece la următoarea poziție de tabulare (păstrând semantica „Tab” în acest sens) și în formate standard pentru a indica următoarea fază. Specificația IPTC actuală recomandă, în schimb, utilizarea comenzilor regulate ASCII C0 și utilizarea controlului SUA ca întrerupere a coloanei în tabele.
^K 11 0B VT NATS, IPTC ECD Sfârșitul instrucțiunii Delimitează sfârșitul unei instrucțiuni tipografice destinate dispozitivului de tipărire.
^L 12 0C FF NATS, IPTC SCD Începutul instruirii Delimitează începutul unei instrucțiuni tipografice destinate dispozitivului de tipărire.
^M 13 0D CR NATS, IPTC QL Quad Stânga Termină o linie, indicând că ar trebui aliniată la stânga. Specificația IPTC actuală recomandă, în schimb, utilizarea comenzilor ASCII C0 regulate și reprezentarea acestei funcții cu < CR LFsecvența.
^N 14 0E ASA DE NATS UR Șină superioară Pornește o regiune accentuată a textului. Folosit în transmiterea textului jurnalistic scandinav începând cu 1975; Recomandările IPTC începând cu 1976 foloseau în schimb FT2 și FT3 (vezi mai jos). Specificația IPTC actuală recomandă, în schimb, utilizarea comenzilor regulate ASCII C0 și marcarea acestei funcții cu ^caracterul.
^O 15 0F SI NATS LR Sina inferioară Încheie o regiune accentuată a textului. Folosit în transmiterea textului jurnalistic scandinav începând cu 1975; Recomandările IPTC începând cu 1976 foloseau FT1 în schimb (vezi mai jos). Specificația IPTC actuală recomandă, în schimb, utilizarea comenzilor regulate ASCII C0 și marcarea acestei funcții cu @caracterul.
^Q 17 11 DC1 IPTC FT1 Font One Trece la tipar obișnuit, adică dezactivează bold sau italic.
^R 18 12 DC2 IPTC FT2 Font Two Trece la tiparul cursiv.
^S 19 13 DC3 IPTC FT3 Font Three Trece la tipare aldină.
^X 24 18 POATE SA NATS, IPTC KW Omoară Cuvântul Șterge cuvântul precedent (șterge înapoi la și incluzând ultimul spațiu, sau înapoi la și excluzând întreruperea de linie anterioară, oricare ar întâlni primul). Păstrează semantica „Anulează” în acest sens, dar are o funcție mai specifică.
^Y 25 19 EM T.61 / T.51 , independent SS2 Schimbare simplă doi Cod de schimbare fără blocare pentru G2 ; o reprezentare C0 care îi permite să fie reprezentată cu un octet într-un mediu de 7 biți.
^\ 28 1C FS NATS, IPTC, autonom SS, SS2 Super Shift sau Single Shift Two Cod de schimbare fără blocare .
JIS C 6225 CEX Extensie de control Prezintă o secvență de control, așa cum este specificat de JIS C 6225, acum retras, desemnat JIS X 0207 în surse ulterioare. Acestea includ secvențe pentru controlul comportamentului textului pe verticală, superindici și subindici și pentru transmiterea graficelor de caractere personalizate .
^] 29 1D GS NATS, IPTC QC Centru Quad Termină o linie, indicând că ar trebui să fie centrată.
T.61 / T.51 SS3 Tura simplă trei Cod de schimbare fără blocare pentru G3 ; o reprezentare C0 care îi permite să fie reprezentată cu un octet într-un mediu de 7 biți.
^^ 30 1E RS NATS, IPTC QR Quad dreapta Termină o linie, indicând că ar trebui aliniată la dreapta.
^_ 31 1F S.U.A. NATS, IPTC JY Justifica Termină o linie care trebuie justificată.

Alte seturi de coduri de control C0

Teletextul definește un set complet diferit de coduri de control . În formatele în care compatibilitatea cu codurile de control C0 ale ECMA-48 nu este necesară, aceste coduri de control sunt uneori mapate în mod transparent la gama de coduri de control Unicode C0 (U + 0000 până la U + 001F).

Comenzi C1

În paralel cu dezvoltarea ediției din 1972 a ISO 646 , care a revizuit standardul pentru a introduce conceptul de versiuni naționale ale codului în plus față de ASCII originare din SUA, s-a lucrat și cu scopul definirii mecanismelor de extindere pentru ASCII, aplicabil atât mediilor pe 7 biți, cât și pe cele pe 8 biți, care ar fi publicate ca ECMA-35 și ISO 2022 .

Aceste mecanisme au fost concepute astfel încât orice cod conform de 8 biți să poată fi transformat într-un cod corespunzător de 7 biți și invers . Într-un mediu de 7 biți, controlul Shift Out ( SO ) ar schimba semnificația celor 94 de octeți 0x21prin 0x7E(adică codurile grafice, excluzând spațiul) pentru a invoca caractere dintr-un set alternativ, iar controlul Shift In ( SI ) ar schimbă-le înapoi. Într-un mediu de 8 biți, în loc să se utilizeze coduri de schimbare, cel de-al optulea bit a fost setat pe un octet care face referire la setul de caractere grafice suplimentare. Acest lucru a însemnat că octeti 0xA1prin 0xFEau fost folosite pentru caracterele grafice suplimentare. Caracterele de control C0, nefiind afectate de starea de schimbare a unui cod de 7 biți, trebuiau să fie întotdeauna reprezentate într-un cod de 8 biți cu al optulea bit nesetat. Prin urmare, octeții neutilizați altfel din gama 0x80through 0x9Far putea fi utilizați pentru coduri de control suplimentare, care ar fi reprezentate în schimb ca 0x1B 0x40through 0x1B 0x5F( ESC @through ESC _) într-un cod de 7 biți. Aceste coduri de control suplimentare sunt cunoscute sub numele de coduri de control C1 . Pentru a păstra compatibilitatea cu reprezentarea 7-biți, comportamentul de octeți 0xA0și a 0xFFfost inițial au rămas nedefinite.

Primul set de coduri de control C1 care a fost înregistrat pentru utilizare cu ISO 2022 a fost DIN 31626 , un set specializat pentru utilizare bibliografică care a fost înregistrat în 1979. Setul de uz general ISO / IEC 6429 a fost înregistrat în 1983, deși specificația ECMA-48 pe care s-a bazat fusese publicat pentru prima dată în 1976.

Edițiile ulterioare ale standardelor au modificat într-o anumită măsură prevederile. De exemplu, o revizuire ulterioară a ECMA-35 și ISO 2022 în 1985 a introdus conceptul unui set de caractere grafice cu 96 de coduri. Într-un cod de 8 biți, acest lucru a permis ca întreaga gamă de 0xA0la 0xFFsă fie utilizată pentru caractere grafice. Utilizarea seturilor de 96 de coduri a însemnat, de asemenea, că semnificația octeților 0x20și 0x7Fîn codul corespunzător de 7 biți ar putea diferi de „Spațiu” și „Ștergere”, cu excepția cazului în care codul se afla în starea Shift In. Utilizarea seturilor de 96 de coduri pentru setul G0 (Shift In) nu a fost posibilă.

În conformitate cu această structură de cod revizuită ISO 2022 pe 8 biți, ISO 8859 definește seturi de caractere care trebuie codificate peste 0xA0 – FF, în combinație cu caracterele grafice ASCII peste 0x20–7E și rezervă octeții în afara acestor intervale pentru utilizare ca coduri non-grafice prin alte specificații, cum ar fi ISO 6429. Unicode moștenește primele 256 de puncte de cod din ISO 8859-1, încorporând, de asemenea, o gamă rezervată pentru un set de coduri de control C1, deși își lasă mai ales funcția să fie definită de un nivel superior protocoale, cu ISO / IEC 6429 sugerat ca implicit.

Coduri de control C1 pentru uz general

Acestea sunt cele mai comune coduri extinse de control și sunt definite în ISO / IEC 6429 , ECMA -48 și JIS X 0211 (anterior JIS C 6323). Dacă se utilizează mecanismul de extensie ISO / IEC 2022 , acestea sunt desemnate ca setul de caractere de control activ C1 cu secvența 0x1B 0x22 0x43( ESC " C). Deși Unicode nu necesită un anumit set de coduri de control C1, lăsând interpretarea acestora să fie specificată de protocoale de nivel superior și specifică doar un comportament pentru U + 0085, sugerează interpretarea codurilor de control C1 așa cum este specificat în ISO / IEC 6429 în absență de utilizare în alte scopuri. De asemenea, listate în tabelul de mai jos sunt trei coduri de control listate alături de codurile ISO / IEC 6429 din RFC  1345 , dar care nu sunt definite de fapt de ISO / IEC 6429 ( PAD , HOP și SGC ).

Cu excepția SS2 și SS3 în text EUC-JP și NEL în text transcodat din EBCDIC , formele pe 8 biți ale acestor coduri sunt aproape niciodată utilizate. CSI , DCS și OSC sunt utilizate pentru a controla terminalele de text și emulatoarele de terminal , dar aproape întotdeauna utilizând reprezentările lor de cod de evacuare pe 7 biți. Reprezentările lor cu un singur octet conforme ISO / IEC 2022 sunt nevalide în UTF-8 , iar codificările UTF-8 ale punctelor lor de cod corespunzătoare sunt de doi octeți ca formele codului lor de evadare (de exemplu, CSI la U + 009B este codificat ca octeți 0xC2, 0x9B în UTF-8), deci nu există niciun avantaj în a le folosi, mai degrabă decât secvența de evacuare echivalentă pe doi octeți. Când aceste coduri apar în documente moderne, pagini web, mesaje de poștă electronică etc., acestea sunt de obicei destinate să imprime caractere în acea poziție într-o codificare proprietară, cum ar fi Windows-1252 sau Mac OS Roman, care utilizează codurile C1 pentru a furniza caractere grafice suplimentare.

Numele oficiale în limba engleză ale unor coduri C1 au fost revizuite în cea mai recentă ediție a standardului pentru codurile de control în general (ISO 6429: 1992 sau ECMA-48: 1991) pentru a fi neutre în ceea ce privește caracterele grafice utilizate cu acestea și să nu presupunem că, la fel ca în scriptul latin, rândurile sunt scrise pe o pagină de sus în jos și că caracterele sunt scrise pe o linie de la stânga la dreapta. Abrevierile utilizate nu au fost modificate, deoarece standardul specificase deja că acestea vor rămâne neschimbate atunci când standardul este tradus în alte limbi. În cazul în care numele a fost schimbat, numele original din care a fost derivată abrevierea este, de asemenea, dat în paranteză în tabelele de mai jos.

Esc + Dec Hex Acro Nume Descriere
@ 128 80 PAD Caracter de căptușire Nu face parte din ISO / IEC 6429 (ECMA-48). În proiectele inițiale ale ISO 10646, a fost utilizat ca parte a unui mecanism propus pentru codificarea caracterelor non-ASCII. Această utilizare a fost eliminată în versiunile ulterioare. Cu toate acestea, este utilizat de forma internă cu lungime fixă ​​de doi octeți a codului extins Unix (EUC) bazat pe ISO-2022 pentru caracterele de octet unic cu stânga în seturile de coduri 1 și 3, în timp ce NUL are aceeași funcție pentru cod seturile 0 și 2. Acest lucru nu se face în formatul EUC „ambalat” obișnuit.
A 129 81 HOP Presetare Octet înalt Nu face parte din ISO / IEC 6429 (ECMA-48). În proiectele inițiale ale ISO 10646, a fost conceput ca un mijloc de a introduce o secvență de caractere multiple de octeți conforme cu ISO 2022 cu același prim octet fără a repeta primul octet menționat, reducând astfel lungimea; acest comportament nu a făcut niciodată parte dintr-o implementare standard sau publicată. Cu toate acestea, numele său a fost păstrat ca un nume de cod standard RFC 1345 .  
B 130 82 BPH Pauza permisă aici Urmează un caracter grafic în care este permisă o întrerupere de linie. Aproximativ echivalent cu o cratimă moale, cu excepția faptului că mijloacele pentru indicarea unei întreruperi de linie nu sunt neapărat o cratimă. Nu face parte din prima ediție a ISO / IEC 6429. Vezi și spațiul cu lățime zero .
C 131 83 NBH Nici o pauză aici Urmărește caracterul grafic care nu trebuie rupt. Nu face parte din prima ediție a ISO / IEC 6429. A se vedea, de asemenea, cuvântul tamplar .
D 132 84 IND Index Mutați poziția activă cu o linie în jos, pentru a elimina ambiguitatea despre semnificația LF. Apreciat în 1988 și retras în 1992 din ISO / IEC 6429 (1986 și respectiv 1991 pentru ECMA-48).
E 133 85 NEL Linia următoare Echivalent cu CR + LF. Folosit pentru a marca sfârșitul liniei pe unele mainframe IBM.
F 134 86 SSA Începutul zonei selectate Folosit de terminalele orientate spre blocuri .
G 135 87 ESA Sfârșitul zonei selectate
H 136 88 HTS Set de tabulare a caracterelor Set de
tabulare orizontală
Face ca o oprire de tabulare a caracterelor să fie setată în poziția activă.
Eu 137 89 HTJ Tabelarea caracterelor cu justificare
Tabelarea orizontală cu justificare
Similar cu tabelarea caracterelor, cu excepția faptului că în loc de spații sau linii plasate după caracterele precedente până la atingerea următoarei tabulări, spațiile sau liniile sunt plasate înaintea câmpului activ, astfel încât caracterul grafic precedent să fie plasat chiar înainte de tabulatorul următor.
J 138 8A VTS Set de tabulare de linie Set de
tabulare verticală
Face ca o oprire de tabulare a liniei să fie setată în poziția activă.
K 139 8B PLD Linie parțială înainte
Linie parțială în jos
Folosit pentru a produce indice și superindice în ISO / IEC 6429 , de exemplu, într-o imprimantă.
Se utilizează indicele în timp ce se utilizează superindice . PLD text PLUPLU text PLD
L 140 8C PLU Linie parțială înapoi
Linie parțială în sus
M 141 8 D RI Reverse Feed Feed
Index Reverse
N 142 8E SS2 Tasta simplă 2 Următorul caracter invocă un caracter grafic din seturile grafice G2 sau respectiv G3. În sistemele care sunt conforme ISO / IEC 4873 (ECMA-43), chiar dacă este utilizat un alt set C1 decât cel implicit, acești doi octeți pot fi utilizați numai în acest scop.
O 143 8F SS3 Schimbare simplă 3
P 144 90 DCS Șir de control al dispozitivului Urmat de un șir de caractere tipărite (0x20 până la 0x7E) și efectoare de format (0x08 până la 0x0D), terminate de ST (0x9C). Aceasta poate fi utilizată de secvențele de control cu ​​lungime variabilă pentru terminale de text și emulatoare de terminale, cum ar fi  interogări terminfo .
Î 145 91 PU1 Utilizare privată 1 Rezervat pentru o funcție fără semnificație standardizată pentru utilizare privată, după cum este necesar, sub rezerva acordului prealabil al expeditorului și al destinatarului datelor.
R 146 92 PU2 Utilizare privată 2
S 147 93 STS Setați Transmit State
T 148 94 CCH Anulați caracterul Backspace distructiv, destinat eliminării ambiguității despre semnificația BS .
U 149 95 MW Mesaj în așteptare
V 150 96 SPA Începutul zonei protejate Folosit de terminalele orientate spre blocuri .
W 151 97 EPA Sfârșitul zonei protejate
X 152 98 SOS Începutul șirului Urmat de un șir de control terminat de ST (0x9C) care, spre deosebire de cele inițiate de DCS , OSC , PM sau APC , poate conține orice caracter, cu excepția SOS sau ST. Nu face parte din prima ediție a ISO / IEC 6429.

MARC 21 folosește SOS și ST în înregistrările în format Unicode pentru a marca un șir care ar trebui ignorat în scopuri de colaționare, în timp ce înregistrările în format MARC-8 folosesc NSB și NSE în același scop.

Da 153 99 SGC Introducător unic de caractere grafice Nu face parte din ISO / IEC 6429. În proiectele inițiale ale ISO 10646, a fost folosit pentru a codifica un singur caracter multiplu fără a comuta din modul HOP . În versiunile ulterioare, această facilitate a fost eliminată, totuși numele a fost păstrat ca un nume standard de punct de cod RFC  1345 .
Z 154 9A SCI Introducător de un singur personaj Urmează un singur caracter imprimabil (0x20 până la 0x7E) sau efector de format (0x08 până la 0x0D). Intenția a fost de a furniza un mijloc prin care să poată fi definită o funcție de control sau un caracter grafic care ar fi disponibil indiferent de seturile grafice sau de control utilizate. Definițiile a ceea ce ar invoca următorul octet nu au fost niciodată implementate într-un standard internațional. Nu face parte din prima ediție a ISO / IEC 6429.
[ 155 9B CSI Introducere secvență de control Folosit pentru a introduce secvențe de control care iau parametri.
\ 156 9C SF String Terminator Termină un șir de control cu ​​lungime variabilă inițiat de DCS , SOS , OSC , PM sau APC .
] 157 9D OSC Comanda sistemului de operare Urmat de un șir de caractere tipărite (0x20 până la 0x7E) și efectoare de format (0x08 până la 0x0D), terminate de ST (0x9C). Aceste trei coduri de control au fost destinate utilizării pentru a permite semnalizarea în bandă a informațiilor de protocol, dar sunt rareori utilizate în acest scop.

Unele emulatoare de terminal , inclusiv xterm , acceptă secvențe OSC pentru setarea titlului ferestrei și reconfigurarea paletei de culori disponibile. De asemenea, pot accepta terminarea unei secvențe OSC cu BEL ca alternativă non-standard la ST standard.

APC este uneori folosit pentru a transmite comenzi Kermit , deși aceasta poate fi dezactivată sau filtrată din motive de securitate.

^ 158 9E P.M Mesaj de confidențialitate
_ 159 9F APC Comandă program aplicație

Coduri de control C1 pentru utilizare bibliografică

Următorul set alternativ de coduri de control C1 este definit pentru aplicații bibliografice, cum ar fi sistemele de bibliotecă . Este în principal preocupat de colaționarea șirurilor și de marcarea câmpurilor bibliografice. Ușor diferite variante sunt definite în germană standardul DIN 31626 (publicat în 1978 și de atunci retrase) și ISO standardul ISO 6630 , dintre care acesta din urmă a fost adoptată , de asemenea , în Germania , ca și DIN ISO 6630 . Unde acestea diferă este notat în tabelul de mai jos, acolo unde este cazul. MARC-8 folosește codificarea NSB și NSE din acest set și adaugă câteva efectoare de format suplimentare în locații neutilizate de versiunea ISO; cu toate acestea, MARC 21 utilizează acest set de control numai în înregistrările MARC-8, nu în înregistrările în format Unicode.

Dacă se utilizează mecanismul de extensie ISO / IEC 2022 , setul DIN 31626 este desemnat ca set de caractere de control activ C1 cu secvența 0x1B 0x22 0x45( ESC " E), iar setul ISO 6630 / DIN ISO 6630 este desemnat cu secvența 0x1B 0x22 0x42( ESC " B). Extinderea din 1985 a setului ISO 6630 poate fi, de asemenea, specificată explicit folosind secvența 0x1B 0x26 0x40 0x1B 0x22 0x42( ESC & @ ESC " B).

Esc + Dec Hex Acro Nume Descriere
@ ... F 128 ... 134 80 ... 86 - (rezervat)
G 135 87 CUS Close-Up pentru sortare (DIN 31626, ISO 6630) Declară că două secvențe succesive de caractere separate printr-un spațiu sau separator ar trebui tratate ca un singur cuvânt în scopuri de colaționare.
H 136 88 NSB Începe caracterele care nu sunt sortate (DIN 31626, ISO 6630, MARC 21) marchează începutul unei secvențe de caractere care trebuie ignorate în scopuri de colaționare. MARC 21 folosește acest caracter în înregistrările MARC-8 , dar folosește 0x98 ( SOS ) în înregistrările Unicode în același scop.
Eu 137 89 NSE Caracterele care nu sunt sortate se încheie (DIN 31626, ISO 6630, MARC 21) Marcează sfârșitul unei secvențe de caractere care trebuie ignorate în scopuri de colaționare. MARC 21 folosește acest caracter în înregistrările MARC-8, dar folosește 0x9C ( ST ) în înregistrările Unicode în același scop.
J 138 8A FIL Caracter de umplere (DIN 31626) Înlocuiește un caracter alfanumeric obligatoriu într-un câmp.
K 139 8B TCI Eticheta în Indicatorul contextual (DIN 31626) În cadrul unui câmp bibliografic, utilizat pentru a se referi la datele dintr-un alt câmp bibliografic după numărul său de etichetă.
PLD Linie parțială jos (ISO 6630) Nu se află în ediția originală a ISO 6630. În ediția din 1985 a ISO 6630, utilizată pentru descărcarea parțială a liniei (a se vedea PLD de mai sus).
L 140 8C ICI Număr de identificare în indicatorul contextual (DIN 31626) În cadrul unui câmp bibliografic, utilizat pentru a se referi la datele dintr-o altă înregistrare bibliografică după numărul său de identificare.
PLU Linie parțială (ISO 6630) Nu este în ediția originală a ISO 6630. În ediția din 1985 a ISO 6630, utilizată pentru Partial Line Up (a se vedea PLU de mai sus).
M 141 8 D OSC Control opțional al silabificării (DIN 31626) marchează o limită de silabă într-un cuvânt lung. Vezi și cratimă moale .
ZWJ Tâmplar (MARC 21) În MARC-8, utilizat pentru Zero-Width Joiner , în timp ce U + 200D este utilizat în înregistrările MARC în format Unicode.
N 142 8E SS2 Tasta simplă 2 (DIN 31626) Cod schimbare fără blocare, vezi SS2 de mai sus.
ZWNJ Non-Joiner (MARC 21) În MARC-8, utilizat pentru Non-Joiner cu lățime zero , în timp ce U + 200C este utilizat în înregistrările MARC în format Unicode.
O 143 8F SS3 Schimbare simplă 3 (DIN 31626) Cod de schimbare fără blocare, vezi SS3 de mai sus.
P 144 90 - (rezervat)
Î 145 91 EAB Adnotare încorporată Început (DIN 31626, ISO 6630) marchează începutul unei adnotări cu lungime variabilă care este încorporată într-un câmp bibliografic, spre deosebire de separarea utilizând denumirea conținutului.
R 146 92 EAE Încheierea adnotării încorporate (DIN 31626, ISO 6630) marchează sfârșitul unei adnotări încorporate cu lungime variabilă.
S 147 93 ESTE B Specificația articolului Început (DIN 31626) marchează începutul unui șir de informații specifice cu o anumită descriere, altele decât un cuvânt cheie sau un șir de permutare.
T 148 94 EU VAD Specificație articol Sfârșit (DIN 31626) marchează sfârșitul unui șir de informații specifice.
U 149 95 SIB Sortarea interpolării Început (ISO 6630) marchează începutul unei secvențe de caractere utilizate numai în scopuri de colaționare.
V 150 96 SIE Sortarea Interpolării Sfârșit (ISO 6630) marchează sfârșitul unei secvențe de caractere utilizate numai în scopuri de colaționare.
W 151 97 SSB Începând valoarea de sortare secundară (ISO 6630) marchează începutul unui șir cu valoare de colaționare subordonată.
X 152 98 SSE Valoare de sortare secundară Sfârșit (ISO 6630) Marcează sfârșitul unui șir cu valoare de colaționare subordonată.
Da 153 99 INC Indicator pentru caracter non-standard (DIN 31626) Identifică următorul caracter nestandard.
Z 154 9A - (rezervat)
[ 155 9B - (rezervat)
\ 156 9C KWB Începutul cuvântului cheie (DIN 31626, ISO 6630) marchează începutul unui cuvânt cheie într-un câmp bibliografic.
] 157 9D KWE Încheierea cuvântului cheie (DIN 31626, ISO 6630) Marcează sfârșitul unui cuvânt cheie într-un câmp bibliografic.
^ 158 9E PSB Șir de permutare Început (DIN 31626, ISO 6630) marchează începutul unui șir care urmează să fie permutat în partea din față a elementului atunci când sunt generate referințe sau indici . Terminat de PSE sau de sfârșitul elementului.
_ 159 9F PSE Sfârșitul șirului de permutare (DIN 31626, ISO 6630) Marcează capătul unui șir care urmează să fie permutat în partea din față a elementului.

Alte seturi de coduri de control C1

EBCDIC definește 16 coduri de control suplimentare, în afară de cele prezente în ASCII. Când sunt mapate la Unicode sau la ISO 8859 , aceste coduri sunt mapate la caracterele de control C1 într-un mod specificat de IBM Character Data Representation Architecture (CDRA).

Deși maparea implicită a controlului New Line (NL) corespunde cu ISO / IEC 6429 NEL (0x85; deși maparea sa este uneori schimbată cu LF, urmând convenția de încheiere a liniei UNIX), restul codurilor de control nu corespund ISO / IEC 6429. de exemplu, EBCDIC de control SPS (0x09, mapate la 0x8D) și controlul ECMA-48 PLU (0x8C) sunt ambele utilizate pentru a începe o superscript sau a termina un subscript, dar nu sunt mapate la unul pe altul. Prin urmare, EBCDIC-mapat ASCII extins poate fi considerat ca având propriul său set C1, deși nu este înregistrat la registrul ISO-IR pentru utilizare cu ISO / IEC 2022 .

Diverse seturi de coduri de control C1 specializate sunt înregistrate pentru a fi utilizate de diferite formate Videotex .

Unicode

Unicode pune deoparte 65 de puncte de cod din categoria generală „Cc” (Control) pentru compatibilitate cu ISO / IEC 2022 . Codurile de control din această categorie acoperă U + 0000 — U + 001F (controale C0), U + 007F (șterge) și U + 0080 — U + 009F (controale C1). Unicode specifică numai semantica pentru U + 0009 — U + 000D, U + 001C — U + 001F și U + 0085. Restul codurilor de control sunt transparente pentru Unicode, iar semnificațiile lor sunt lăsate la nivelul protocoalelor de nivel superior.

Unicode nu are alte puncte de cod din categoria "Cc" alocate decât cele C0 și C1. Cu toate acestea, include caractere efector de format suplimentare, în afară de cele din seturile de control C0 și C1, cum ar fi marcaje, încorporări, izolate și pop-uri pentru formatare bidirecțională explicită, și joncțiunea cu lățime zero și non-joncțiune pentru controlul utilizării ligaturii. Acestea primesc categoria generală "Cf" (Format), mai degrabă decât "Cc".

Vezi si

Note de subsol

Referințe