Steuercodes C0 und C1 - C0 and C1 control codes

Der C0- und C1-Steuercode oder die Steuerzeichensätze definieren Steuercodes zur Verwendung in Text durch Computersysteme, die ASCII und ASCII- Derivate verwenden. Die Codes stellen zusätzliche Informationen zum Text dar, beispielsweise die Position eines Cursors, eine Anweisung zum Beginn einer neuen Zeile oder eine Nachricht, dass der Text empfangen wurde.

C0-Codes sind der Bereich 00 HEX –1F HEX und der Standard-C0-Satz wurde ursprünglich in ISO 646 ( ASCII ) definiert. C1-Codes haben den Bereich 80 HEX –9F HEX und der Standard-C1-Satz wurde ursprünglich in ECMA-48 definiert (später harmonisiert mit ISO 6429). Das ISO/IEC 2022- System zur Spezifikation von Steuer- und Grafikzeichen ermöglicht die Verfügbarkeit anderer C0- und C1-Sets für spezielle Anwendungen, die jedoch selten verwendet werden.

C0-Steuerung

ASCII definierte 32 Steuerzeichen, plus ein notwendiges zusätzliches für das all-1 DEL-Zeichen (wird benötigt, um alle Löcher auf einem Papierband auszustanzen und zu löschen).

Diese große Anzahl von Codes war zu dieser Zeit wünschenswert, da Multibyte-Steuerungen die Implementierung einer Zustandsmaschine im Terminal erfordern würden, was bei modernen elektronischen und mechanischen Terminals sehr schwierig war. Seitdem haben nur wenige der ursprünglichen Steuerelemente ihre Verwendung beibehalten: die "Whitespace"-Reihe von BS, TAB, LF, VT, FF und CR; der BEL-Code; und ESC (aber außer in ISO-2022-JP fast immer als Teil einer ESC,'[' CSI- Darstellung, die eine ANSI-Escape-Sequenz beginnt ). Andere werden nicht verwendet oder haben andere Bedeutungen, wie beispielsweise NUL als C- String-Terminator.

Einige serielle Übertragungsprotokolle wie ANPA-1312 , Kermit und XMODEM verwenden die Steuerzeichen SOH, STX, ETX, EOT, ACK, NAK und SYN ausgiebig, um ihre ursprünglichen Definitionen anzunähern .

Grundlegende ASCII-Steuercodes

Dies sind die Standard-ASCII-Steuercodes, die ursprünglich in ANSI X3.4 definiert wurden . Bei Verwendung des ISO/IEC 2022- Erweiterungsmechanismus werden sie mit der Oktettsequenz 0x1B 0x21 0x40( ESC ! @) als aktiver C0-Steuerzeichensatz bezeichnet .

Seq Dezember Verhexen Abkürzung Symbol Name C Beschreibung
^@ 00 00 NUL Null \0 Ursprünglich verwendet, um Lücken auf dem Papierband für Bearbeitungen zuzulassen. Wird später zum Auffüllen nach einem Code verwendet, dessen Verarbeitung von einem Terminal einige Zeit in Anspruch nehmen kann (zB ein Wagenrücklauf oder ein Zeilenvorschub an einem Druckterminal). Wird jetzt oft als String-Terminator verwendet, insbesondere in der Programmiersprache C.
^A 01 01 SOH Beginn der Überschrift Begrenzt bei der Nachrichtenübertragung den Anfang eines Nachrichtenheaders. Das Format dieses Headers kann durch ein anwendbares Protokoll wie IPTC 7901 für die journalistische Textübertragung definiert werden und wird normalerweise durch STX abgeschlossen. In Hadoop wird es oft als Feldtrennzeichen verwendet.
^B 02 02 STX Textanfang Erstes Zeichen des Nachrichtentextes und kann verwendet werden, um die Nachrichtenüberschrift zu beenden.
^C 03 03 ETX Ende des Textes Begrenzt bei Nachrichtenübertragung das Ende des Haupttextes einer Nachricht. Könnte von "Post-Text-Informationen" (dh einer strukturierten Fußzeile) gefolgt von einem anwendbaren Protokoll oder von zusätzlichen Texten gefolgt werden, gefolgt von EOT. Wird bei der Tastatureingabe häufig als "Unterbrechungszeichen" (Strg-C) verwendet, um ein Programm oder einen Prozess zu unterbrechen oder zu beenden.
^D 04 04 EOT Ende der Übertragung Begrenzt das Ende einer übertragenen Nachricht, die eine Kopfzeile, Nachrichtentext und Nachtextfußzeile oder sogar mehrere Texte und zugehörige Überschriften enthalten kann. Kann auch verwendet werden, um Terminals in den Standby-Modus zu versetzen. Wird unter Unix häufig verwendet , um das Dateiende auf einem Terminal anzuzeigen, das von der Shell als Befehl exitoder logout.
^E 05 05 DEQ Anfrage Signal, das eine Antwort auf der Empfangsseite auslösen soll, um zu sehen, ob es noch vorhanden ist.
^F 06 06 ACK Anerkennen Antwort auf eine ENQ oder ein Hinweis auf den erfolgreichen Empfang einer Nachricht.
^G 07 07 BEL Glocke , Alarm \a Ursprünglich verwendet, um eine Glocke am Terminal zu ertönen . Später für einen Piepton auf Systemen verwendet, die keine physische Klingel hatten. Kann auch inverses Video (eine visuelle Glocke) schnell ein- und ausschalten .
^H 08 08 BS Rücktaste \b Bewegen Sie den Cursor eine Position nach links. Bei der Eingabe kann dies das Zeichen links vom Cursor löschen. Bei der Ausgabe, bei der in der frühen Computertechnologie ein einmal gedrucktes Zeichen nicht gelöscht werden konnte, wurde die Rücktaste manchmal verwendet, um akzentuierte Zeichen in ASCII zu erzeugen. Könnte beispielsweise àunter Verwendung der Drei-Zeichen-Sequenz a BS `(oder unter Verwendung der Hex-Werte der Zeichen, 0x61 0x08 0x60) erzeugt werden. Diese Verwendung wird jetzt im Allgemeinen nicht unterstützt (sie ist beispielsweise in ISO/IEC 8859 verboten ). Um die Zweideutigkeit zwischen den zwei möglichen Verwendungen von Backspace zu schaffen, wurde der Löschzeichen- Steuercode zu einem Teil des Standard-C1-Steuersatzes gemacht.
^I 09 09 HT Zeichentabelle, horizontale Tabellendarstellung \t Position zum nächsten Zeichen- Tabulator .
^J 10 0A LF Zeilenvorschub \n Bei Schreibmaschinen , Druckern und einigen Terminalemulatoren wird der Cursor eine Zeile nach unten bewegt, ohne die Spaltenposition zu beeinflussen. Unter Unix zum Markieren von Zeilenende . In DOS , Windows und verschiedenen Netzwerkstandards wird LF nach CR als Teil der Zeilenendemarkierung verwendet.
^K 11 0B VT Linientabulator, Vertikale Tabellierung \v Positionieren Sie das Formular am Tabstopp der nächsten Zeile.
^L 12 0C FF Formular-Feed \f Legen Sie bei Druckern die nächste Seite ein. Wird in vielen Programmiersprachen als Leerzeichen behandelt und kann verwendet werden, um logische Unterteilungen im Code zu trennen. In einigen Terminalemulatoren wird der Bildschirm gelöscht. Es erscheint immer noch in einigen gängigen Nur-Text-Dateien als Seitenumbruchzeichen , wie z. B. in den von der IETF veröffentlichten RFCs .
^M 13 0D CR Wagenrücklauf \r Ursprünglich verwendet, um den Cursor auf Spalte Null zu bewegen, während er in derselben Zeile bleibt. Auf klassischem Mac OS (vor Mac OS X ) sowie in früheren Systemen wie dem Apple II und Commodore 64 verwendet, um das Zeilenende zu markieren . In DOS , Windows und verschiedenen Netzwerkstandards wird es vor LF als Teil des Zeilenendezeichens verwendet. Die Enter oder Return - Taste auf der Tastatur wird dieses Zeichen senden, aber es kann von einem Terminalprogramm zu einer anderen End-of-line - Sequenz umgewandelt werden.
^N 14 0E SO Shift Out Wechseln Sie zu einem alternativen Zeichensatz.
^O fünfzehn 0F SI Umschalten Kehren Sie nach Shift Out zum regulären Zeichensatz zurück.
^P 16 10 DLE Flucht aus der Datenverbindung Bewirken, dass eine begrenzte Anzahl zusammenhängender Oktette auf andere Weise interpretiert wird, beispielsweise als Rohdaten (im Gegensatz zu Steuercodes oder grafischen Zeichen). Die Details hierzu sind implementierungsabhängig.

Standards wie (der jetzt zurückgezogene) ECMA-37 existierten für spezielle Anwendungen des Data Link Escape-Zeichens für den Zugriff auf zusätzliche Übertragungssteuerungsfunktionen.

Das Standardkompressionsschema für Unicode schlägt vor, alle Bytes des C0-Bereichs durch DLE zu ersetzen, gefolgt von diesem Byte plus 0x40, wenn SCSU-Daten über ein System übertragen werden müssen, das durch die Wiederverwendung der C0-Bytes durch SCSU verwirrt würde.

^Q 17 11 DC1 Gerätesteuerung One ( XON ) Diese vier Steuercodes sind für die Gerätesteuerung reserviert, wobei die Interpretation von dem Gerät abhängt, an das sie angeschlossen wurden. DC1 und DC2 sollten in erster Linie die Aktivierung eines Geräts anzeigen, während DC3 und DC4 in erster Linie das Anhalten oder Ausschalten eines Geräts anzeigen sollten. DC1 und DC3 (in dieser Verwendung auch als XON bzw. XOFF bekannt) haben ihren Ursprung in ASCII- Telex- Netzwerken als "Starten und Stoppen des entfernten Papier-Band-Lesegeräts" . Diese Verwendung von Fernschreibern wurde zum De-facto-Standard für die Software-Flusskontrolle .
^R 18 12 DC2 Gerätesteuerung Zwei
^S 19 13 DC3 Gerätesteuerung Drei ( XOFF )
^T 20 14 DC4 Gerätesteuerung Vier
^U 21 fünfzehn NAK Negative Bestätigung Wird von einer Station als negative Antwort an die Station gesendet, mit der die Verbindung aufgebaut wurde. Beim binären synchronen Kommunikationsprotokoll wird der NAK verwendet, um anzuzeigen, dass ein Fehler in dem zuvor empfangenen Block erkannt wurde und dass der Empfänger bereit ist, eine erneute Übertragung dieses Blocks zu akzeptieren. In Mehrpunktsystemen wird der NAK als nicht-bereite Antwort auf eine Abfrage verwendet.
^V 22 16 SYN Synchroner Leerlauf Wird in synchronen Übertragungssystemen verwendet, um ein Signal bereitzustellen, von dem eine synchrone Korrektur zwischen Datenendgeräten erreicht werden kann, insbesondere wenn kein anderes Zeichen übertragen wird.
^W 23 17 ETB Ende des Übertragungsblocks Zeigt das Ende eines Übertragungsblocks von Daten an, wenn Daten zu Übertragungszwecken in solche Blöcke aufgeteilt werden.

Wenn es nicht für einen anderen Zweck verwendet wird, empfiehlt IPTC 7901 , ETB als Absatzendezeichen zu interpretieren.

^X 24 18 KANN Abbrechen Zeigt an, dass die Daten davor fehlerhaft sind oder ignoriert werden sollen.
^Y 25 19 EM Ende des Mediums Soll auf Papier oder Magnetbändern anzeigen, dass das Ende des nutzbaren Teils des Bandes erreicht ist. Es kann auch das Ende des verwendeten Teils des Mediums markieren und entspricht nicht unbedingt dem physischen Ende des Mediums.

Wenn es nicht für einen anderen Zweck verwendet wird, empfiehlt IPTC 7901 , EM als em-Leerzeichen zum Einrücken der ersten Zeile eines Absatzes zu verwenden (siehe auch EMSP ).

^Z 26 1A SUB Ersatz Ursprünglich als Übertragungskontrollzeichen gedacht, um anzuzeigen, dass verstümmelte oder ungültige Zeichen empfangen wurden. Es wurde oft für andere Zwecke verwendet, wenn die von ihm bereitgestellte In-Band-Signalisierung von Fehlern nicht benötigt wird, insbesondere wenn robuste Methoden zur Fehlererkennung und -korrektur verwendet werden oder wenn erwartet wird, dass Fehler selten genug sind, um das Zeichen für die Verwendung zu verwenden andere Zwecke empfehlenswert. In DOS , Windows , CP/M und Derivaten der Betriebssysteme der Digital Equipment Corporation wird es verwendet, um das Ende der Datei anzuzeigen, sowohl bei der Eingabe auf dem Terminal als auch manchmal in Textdateien, die auf der Festplatte gespeichert sind.
^[ 27 1B ESC Fliehen \e Die Esc-Taste auf der Tastatur bewirkt, dass dieses Zeichen auf den meisten Systemen gesendet wird. Es kann in Software-Benutzerschnittstellen verwendet werden, um einen Bildschirm, ein Menü oder einen Modus zu verlassen, oder in Gerätesteuerungsprotokollen (z. B. Drucker und Terminals), um zu signalisieren, dass es sich bei dem folgenden um eine spezielle Befehlssequenz und nicht um normalen Text handelt. In Systemen, die auf ISO/IEC 2022 basieren , muss dieses Oktett, auch wenn ein anderer Satz von C0-Steuercodes verwendet wird, immer das Escape-Zeichen darstellen.

^\ 28 1C FS Dateitrennzeichen Kann als Trennzeichen verwendet werden , um Felder von Datenstrukturen zu markieren. Bei Verwendung für hierarchische Ebenen ist US die niedrigste Ebene (Unterteilung von Klartextdatenelementen), während RS, GS und FS eine aufsteigende Ebene sind, um Gruppen zu unterteilen, die aus Elementen der darunter liegenden Ebene bestehen.

Das Unix-Infoformat verwendet US, gefolgt von einem optionalen Seitenvorschub und einem Zeilenumbruch, um den Anfang eines Knotens zu markieren.

MARC 21 verwendet US als Unterfeldbegrenzer, RS als Feldabschlusszeichen und GS als Datensatzabschlusszeichen.

In der aktuellen Ausgabe von IPTC 7901 wird , wenn sie nicht für andere Zwecke verwendet werden, US als Spaltentrennzeichen in Tabellen, FS als "Zentrales Feldtrennzeichen" in Tabellen und GS bzw. RS zum Markieren eines folgenden Leerzeichens empfohlen oder Bindestrich-Minus als non-breaking bzw. soft (in Zeichensätzen, die keine expliziten NBSP- und SHY-Zeichen liefern).

Die splitlinesString-Methode von Python behandelt FS, GS und RS, aber nicht US, als Trennzeichen zusätzlich zu den Zeilenumbruchzeichen.

^] 29 1D GS Gruppentrenner
^^ 30 1E RS Datensatztrenner
^_ 31 1F uns Einheitentrenner
Obwohl sie technisch nicht zum C0-Steuerzeichenbereich gehören, sind die folgenden beiden Zeichen in ISO/IEC 2022 als immer verfügbar definiert, unabhängig davon, welche Sätze von Steuerzeichen und Grafikzeichen registriert wurden. Man kann sich vorstellen, dass sie einige Merkmale von Steuerzeichen aufweisen.
  32 20 SP Platz Raum ist ein grafischer Charakter. Es hat eine visuelle Darstellung, die aus dem Fehlen eines grafischen Symbols besteht. Es bewirkt, dass die aktive Position um eine Zeichenposition vorgerückt wird. In einigen Anwendungen kann Leerzeichen als "Worttrennzeichen" der niedrigsten Ebene betrachtet werden, das mit den angrenzenden Trennzeichen verwendet wird.
^? 127 7F DEL Löschen Technisch nicht Teil des C0-Steuerzeichenbereichs, wurde dies ursprünglich verwendet, um gelöschte Zeichen auf Papierband zu markieren, da jedes Zeichen durch Lochen überall in alle umgewandelt werden konnte. Auf VT100 kompatibelen Endgeräten ist dies die durch den Schlüssel erzeugten Zeichen ⌫ markiert, in der Regel genannt Backspace auf moderne Maschinen und entspricht nicht den PC Löschtaste .

Kategorie-Nummernnamen

Einige der grundlegenden ASCII-Steuercodes werden in einige Kategorien eingeteilt und manchmal mit alternativen abgekürzten Namen versehen, die aus dieser Kategorie und einer Zahl bestehen:

  • Getriebesteuerung: 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).
  • Formateffektoren: FE 0 (BS), FE 1 (HT), FE 2 (LF), FE 3 (VT), FE 4 (FF), FE 5 (CR).
  • Gerätesteuerung: DC 1 , DC 2 , DC 3 , DC 4 .
  • Informationstrennzeichen: IS 1 (US), IS 2 (RS), IS 3 (GS), IS 4 (FS).
  • Sperrschichten: LS 0 (SI), LS 1 (SO).
  • Andere: NUL, BEL, CAN, EM, SUB, ESC.

ISO/IEC 2022 (ECMA-35) bezeichnet die C0-Locking-Shifts als LS0 und LS1 in 8-Bit-Umgebungen und als SI und SO in 7-Bit-Umgebungen.

Die erste ASCII-Ausgabe von 1963 klassifizierte DLE als Gerätesteuerung und nicht als Übertragungssteuerung und gab ihm die Abkürzung DC0 ("Gerätesteuerung reserviert für Datenverbindungsflucht").

Format - Effektor (FE) Codes definieren und actuate Formatierung (wie Zeilenumbrüche ) , die bestimmt , wie graphische Zeichen werden angelegt und wiedergegeben, im Gegensatz zu anderen Funktionen von Hardware - Geräten zu steuern oder andere Nebenwirkungen. Die Effektoren im C0-Format sind in ISO/IEC 6429 DCS- , OSC- , PM- und APC- Sequenzen zugelassen. Die Informationstrennzeichen und C0-Format-Effektoren (minus BS ) sind die einzigen C0-Kontrollcodes mit Semantik, die durch den Unicode-Standard definiert sind, wobei die Interpretation der restlichen C0-Kontrollen den Protokollen höherer Ebene überlassen wird.

ISO/IEC 2022 (ECMA-35) verlangt, dass, wenn C0-Steuerungscodesätze die zehn ASCII-Übertragungssteuerungscodes (TC) enthalten, diese an ihren ASCII-Positionen codiert werden müssen. Es verbietet auch, dass diese zehn Getriebesteuerungen in einem C1-Steuercodesatz enthalten sind, und verbietet, dass neben diesen zehn Getriebesteuerungen in einem C0-Steuerungssatz enthalten sind.

Modifizierte C0-Steuercodesätze

Obwohl C0-Steuercode-Sätze normalerweise die meisten ASCII-Steuercodes unverändert beibehalten, wird eine Zahl registriert, die bestimmte Steuerfunktionen durch Alternativen ersetzt. Eine Auswahl davon, mit Ausnahme derjenigen , die sich auf Videotex beziehen, ist unten aufgeführt.

Seq Dezember Verhexen Ersetzt In Code-Set(s) Abkürzung Name Beschreibung
^I 09 09 HT NATS, IPTC NS Formatierung Wird in Tabellendaten verwendet, um zur nächsten Tabellenposition zu gelangen (wobei die "Tab"-Semantik in dieser Hinsicht beibehalten wird) und in Standardformaten, um die nächste Phase anzuzeigen. Die aktuelle IPTC-Spezifikation empfiehlt stattdessen die Verwendung normaler ASCII-C0-Steuerelemente und die Verwendung des US- Steuerelements als Spaltenumbruch in Tabellen.
^K 11 0B VT NATS, IPTC ECD Ende der Anleitung Begrenzt das Ende einer typografischen Anweisung, die für das Satzgerät bestimmt ist.
^L 12 0C FF NATS, IPTC SCD Unterrichtsbeginn Begrenzt den Beginn einer typografischen Anweisung, die für das Satzgerät bestimmt ist.
^M 13 0D CR NATS, IPTC QL Quad links Beendet eine Linie und gibt an, dass sie linksbündig ausgerichtet werden soll. Die aktuelle IPTC-Spezifikation empfiehlt stattdessen, normale ASCII-C0-Steuerelemente zu verwenden und diese Funktion mit der < CR LFSequenz darzustellen.
^N 14 0E SO NATS UR Obere Schiene Startet einen hervorgehobenen Textbereich. Ab 1975 in der skandinavischen journalistischen Textübertragung verwendet; Die IPTC-Empfehlungen von 1976 verwendeten stattdessen FT2 und FT3 (siehe unten). Die aktuelle IPTC-Spezifikation empfiehlt stattdessen, normale ASCII-C0-Steuerelemente zu verwenden und diese Funktion mit dem ^Zeichen zu markieren .
^O fünfzehn 0F SI NATS LR Untere Schiene Beendet einen hervorgehobenen Textbereich. Ab 1975 in der skandinavischen journalistischen Textübertragung verwendet; Die IPTC-Empfehlungen von 1976 verwendeten stattdessen FT1 (siehe unten). Die aktuelle IPTC-Spezifikation empfiehlt stattdessen, normale ASCII-C0-Steuerelemente zu verwenden und diese Funktion mit dem @Zeichen zu markieren .
^Q 17 11 DC1 IPTC FT1 Schriftart eins Schaltet auf normale Schriftart um, dh deaktiviert Fett oder Kursiv.
^R 18 12 DC2 IPTC FT2 Schriftart zwei Wechselt zu Kursivschrift.
^S 19 13 DC3 IPTC FT3 Schriftart Drei Wechselt zu Fettschrift.
^X 24 18 KANN NATS, IPTC KW Töte Wort Löscht das vorangehende Wort (löscht bis einschließlich des letzten Leerzeichens oder zurück bis einschließlich des vorherigen Zeilenumbruchs, je nachdem, was zuerst auftritt). Behält in dieser Hinsicht die "Abbrechen"-Semantik bei, hat aber eine spezifischere Funktion.
^Y 25 19 EM T.61 / T.51 , Standalone SS2 Einzelschicht Zwei Nicht sperrender Schichtcode für G2 ; eine C0-Darstellung, die die Darstellung mit einem Byte in einer 7-Bit-Umgebung ermöglicht.
^\ 28 1C FS NATS, IPTC, Standalone SS, SS2 Super Shift oder Single Shift Two Nicht sperrender Schaltcode .
JIS C 6225 CEX Steuerungserweiterung Führt eine Steuersequenz ein, wie sie durch die jetzt zurückgezogene JIS C 6225 spezifiziert ist, in späteren Quellen als JIS X 0207 bezeichnet. Dazu gehörten Sequenzen zur Steuerung des vertikalen Textverhaltens, hochgestellter und tiefgestellter Zeichen und zur Übertragung von benutzerdefinierten Zeichengrafiken .
^] 29 1D GS NATS, IPTC QC Quad-Center Beendet eine Linie und gibt an, dass sie zentriert werden soll.
T.61 / T.51 SS3 Einzelschicht Drei Nicht sperrender Schichtcode für G3 ; eine C0-Darstellung, die es ermöglicht, in einer 7-Bit-Umgebung mit einem Byte dargestellt zu werden.
^^ 30 1E RS NATS, IPTC QR Quad rechts Beendet eine Linie und gibt an, dass sie rechtsbündig ausgerichtet werden soll.
^_ 31 1F uns NATS, IPTC JY Rechtfertigen Beendet eine Zeile, die ausgerichtet werden soll.

Andere C0-Steuercodesätze

Teletext definiert einen völlig anderen Satz von Steuercodes . In Formaten, in denen keine Kompatibilität mit den C0-Steuercodes von ECMA-48 erforderlich ist, werden diese Steuercodes manchmal transparent dem Unicode-C0-Steuercodebereich (U+0000 bis U+001F) zugeordnet.

C1-Bedienelemente

Parallel zur Entwicklung der Ausgabe 1972 der ISO 646 , die den Standard überarbeitete, um neben dem in den USA entstandenen ASCII das Konzept der nationalen Versionen des Codes einzuführen , wurde auch daran gearbeitet, Erweiterungsmechanismen für ASCII zu definieren, sowohl für 7-Bit- als auch für 8-Bit-Umgebungen anwendbar, die als ECMA-35 und ISO 2022 veröffentlicht würden .

Diese Mechanismen wurden so entworfen, dass jeder konforme 8-Bit-Code in einen entsprechenden 7-Bit-Code umgewandelt werden kann und umgekehrt . In einer 7-Bit-Umgebung würde das Shift Out ( SO )-Steuerelement die Bedeutung der 94 Bytes 0x21durch 0x7E(dh die grafischen Codes, ohne Leerzeichen) ändern , um Zeichen aus einem alternativen Satz aufzurufen, und das Shift In ( SI )-Steuerelement würde ändere sie zurück. In einer 8-Bit-Umgebung wurde anstelle von Schiebecodes das achte Bit auf ein Byte gesetzt, das auf den zusätzlichen Grafikzeichensatz verweist. Dies bedeutete, dass für die zusätzlichen grafischen Zeichen 0xA1durchgehende Bytes verwendet 0xFEwurden. Die vom Schiebezustand eines 7-Bit-Codes unbeeinflussten C0-Steuerzeichen sollten immer in einem 8-Bit-Code mit ungesetztem achten Bit dargestellt werden. Die folglich ansonsten ungenutzten Bytes im Bereich 0x80bis 0x9Fkönnten für zusätzliche Steuercodes verwendet werden, die stattdessen als 0x1B 0x40bis 0x1B 0x5F( ESC @bis ESC _) in einem 7-Bit-Code dargestellt würden. Diese zusätzlichen Steuercodes werden als C1-Steuercodes bekannt . Um die Kompatibilität mit der 7-Bit-Darstellung zu wahren, wurde das Verhalten von Byte 0xA0und 0xFFursprünglich undefiniert gelassen.

Der erste C1-Kontrollcodesatz, der für die Verwendung mit ISO 2022 registriert wurde , war DIN 31626 , ein spezieller Satz für die bibliografische Verwendung, der 1979 registriert wurde. Der allgemein verwendbare ISO/IEC 6429-Satz wurde 1983 registriert, obwohl die ECMA-48-Spezifikation auf der sie basierte, wurde erstmals 1976 veröffentlicht.

Durch weitere Auflagen der Normen wurden die Bestimmungen teilweise geändert. Beispielsweise führte eine weitere Überarbeitung von ECMA-35 und ISO 2022 im Jahr 1985 das Konzept eines grafischen Zeichensatzes mit 96 Codes ein. In einem 8-Bit-Code ermöglichte dies die Nutzung des gesamten Bereichs von 0xA0bis 0xFFfür grafische Zeichen. Die Verwendung von 96-Code-Sätzen bedeutete auch, dass die Bedeutung der Bytes 0x20und 0x7Fim entsprechenden 7-Bit-Code von "Space" und "Delete" abweichen konnte, es sei denn, der Code befand sich im Shift-In-Zustand. Die Verwendung von 96-Code-Sätzen für den G0-Satz (Shift In) war nicht möglich.

In Übereinstimmung mit dieser überarbeiteten 8-Bit-ISO 2022- Codestruktur definiert ISO 8859 Zeichensätze, die über 0xA0–FF in Kombination mit den ASCII-Grafikzeichen über 0x20–7E zu kodieren sind, und reserviert die Bytes außerhalb dieser Bereiche für die Verwendung als nicht-grafische Codes durch andere Spezifikationen wie ISO 6429. Unicode erbt seine ersten 256 Codepunkte von ISO 8859-1 und enthält somit auch einen Bereich, der für einen C1-Steuercodesatz reserviert ist, obwohl seine Funktion meist von einer höheren Ebene definiert wird Protokolle, wobei ISO/IEC 6429 als Standard vorgeschlagen wird.

C1-Steuercodes für den allgemeinen Gebrauch

Dies sind die gebräuchlichsten erweiterten Kontrollcodes und sind in ISO/IEC 6429 , ECMA -48 und JIS X 0211 (früher JIS C 6323) definiert. Bei Verwendung des ISO/IEC 2022- Erweiterungsmechanismus werden sie mit der Sequenz 0x1B 0x22 0x43( ESC " C) als aktiver C1-Steuerzeichensatz bezeichnet . Obwohl Unicode keinen bestimmten C1-Steuercodesatz erfordert, deren Interpretation von Protokollen höherer Ebene festgelegt wird und nur ein Verhalten für U+0085 spezifiziert, wird vorgeschlagen, C1-Steuercodes in Abwesenheit von ISO/IEC 6429 zu interpretieren für andere Zwecke zu verwenden. In der folgenden Tabelle sind auch drei Kontrollcodes aufgeführt, die neben den ISO/IEC 6429-Codes in RFC  1345 aufgeführt , aber nicht tatsächlich von ISO/IEC 6429 definiert sind ( PAD , HOP und SGC ).

Mit Ausnahme von SS2 und SS3 in EUC-JP- Text und NEL in Text , der von EBCDIC transcodiert wurde , werden die 8-Bit-Formen dieser Codes fast nie verwendet. CSI , DCS und OSC werden verwendet, um Textterminals und Terminalemulatoren zu steuern , jedoch fast immer unter Verwendung ihrer 7-Bit-Escape-Code-Darstellungen. Ihre ISO/IEC 2022- konformen Einzelbyte-Darstellungen sind in UTF-8 ungültig , und die UTF-8-Codierungen ihrer entsprechenden Codepunkte sind zwei Byte lang wie ihre Escape-Code-Formen (z 0xC2, 0x9B in UTF-8), daher hat es keinen Vorteil, sie anstelle der entsprechenden 2-Byte-Escape-Sequenz zu verwenden. Wenn diese Codes in modernen Dokumenten, Webseiten, E-Mail-Nachrichten usw. vorkommen, sollen sie normalerweise Zeichen an dieser Position in einer proprietären Codierung wie Windows-1252 oder Mac OS Roman drucken , die die C1-Codes verwenden zusätzliche grafische Zeichen.

Die offiziellen englischen Sprachnamen einiger C1-Codes wurden in der neuesten Ausgabe der Norm für Steuercodes im Allgemeinen (ISO 6429:1992 oder ECMA-48:1991) überarbeitet, um in Bezug auf die mit ihnen verwendeten grafischen Zeichen neutral zu sein, und um nicht davon auszugehen, dass wie in der lateinischen Schrift auf einer Seite von oben nach unten Zeilen geschrieben werden und dass Zeichen von links nach rechts auf einer Zeile geschrieben werden. Die verwendeten Abkürzungen wurden nicht geändert, da die Norm bereits festgelegt hatte, dass diese bei einer Übersetzung in andere Sprachen unverändert bleiben würden. Bei Namensänderungen wird in den folgenden Tabellen auch der ursprüngliche Name, von dem die Abkürzung abgeleitet wurde, in Klammern angegeben.

Esc+ Dezember Verhexen Acro Name Beschreibung
@ 128 80 PAD Füllzeichen Nicht Teil von ISO/IEC 6429 (ECMA-48). In frühen Entwürfen von ISO 10646 wurde es als Teil eines vorgeschlagenen Mechanismus zum Kodieren von Nicht-ASCII-Zeichen verwendet. Diese Verwendung wurde in späteren Entwürfen entfernt. Wird dennoch von der intern verwendeten Zwei-Byte-Form mit fester Länge des ISO-2022-basierten Extended Unix Code (EUC) zum Auffüllen von Einzelbyte-Zeichen mit links auffüllenden Zeichen in Codesätzen 1 und 3 verwendet, während NUL dieselbe Funktion für Code erfüllt setzt 0 und 2. Dies geschieht nicht im üblichen "gepackten" EUC-Format.
EIN 129 81 HOP High Octet Preset Nicht Teil von ISO/IEC 6429 (ECMA-48). In frühen Entwürfen von ISO 10646 war beabsichtigt, eine Folge von ISO 2022- konformen Mehrbytezeichen mit demselben ersten Byte einzuführen, ohne das erste Byte zu wiederholen, wodurch die Länge reduziert wird; Dieses Verhalten war nie Teil einer Standardimplementierung oder veröffentlichten Implementierung. Sein Name wurde dennoch als RFC  1345- Standardcodepunktname beibehalten .
B 130 82 BPH Pause hier erlaubt Folgt einem Grafikzeichen, wo ein Zeilenumbruch erlaubt ist. Entspricht in etwa einem weichen Bindestrich, außer dass das Mittel zum Anzeigen eines Zeilenumbruchs nicht unbedingt ein Bindestrich ist. Nicht Teil der ersten Ausgabe von ISO/IEC 6429. Siehe auch Leerzeichen mit Nullbreite .
C 131 83 NBH Keine Pause hier Folgt dem grafischen Charakter, der nicht gebrochen werden soll. Nicht Teil der Erstausgabe von ISO/IEC 6429. Siehe auch Wortverbindung .
D 132 84 IND Index Verschieben Sie die aktive Position um eine Zeile nach unten, um Unklarheiten bezüglich der Bedeutung von LF zu beseitigen. 1988 veraltet und 1992 aus ISO/IEC 6429 (1986 bzw. 1991 für ECMA-48) zurückgezogen.
E 133 85 NEL Nächste Zeile Entspricht CR+LF. Wird verwendet, um das Zeilenende auf einigen IBM-Mainframes zu markieren.
F 134 86 SSA Beginn des ausgewählten Bereichs Wird von blockorientierten Klemmen verwendet .
g 135 87 ESA Ende des ausgewählten Bereichs
h 136 88 HTS Zeichentabellensatz
Horizontaler Tabellensatz
Bewirkt, dass an der aktiven Position ein Zeichentabulatorstopp gesetzt wird.
ich 137 89 HTJ Tabulatorzeichen mit Ausrichtung
Horizontale Tabulatorzeichen mit Ausrichtung
Ähnlich wie bei der Zeichentabulation, außer dass Leerzeichen oder Zeilen nach den vorhergehenden Zeichen bis zum nächsten Tabstopp platziert werden, die Leerzeichen oder Zeilen vor dem aktiven Feld platziert werden, sodass das vorangehende Grafikzeichen direkt vor dem nächsten Tabulator platziert wird.
J 138 8A VTS Zeilen-Tabulator-Set
Vertikal-Tabulator-Set
Bewirkt, dass an der aktiven Position ein Zeilentabulatorstopp gesetzt wird.
K 139 8B PLD Teillinie vorwärts
Teillinie unten
Wird verwendet, um tiefgestellte und hochgestellte Zeichen in ISO/IEC 6429 zu erzeugen , zB in einem Drucker.
Tiefgestellte Zeichen verwenden, während hochgestellte Zeichen verwenden . PLD text PLUPLU text PLD
L 140 8C PLU Partielles Line-Up Rückwärts
Partielles Line-Up
m 141 8D RI Zeilenvorschub
umkehren Index umkehren
n 142 8E SS2 Einschicht 2 Nächstes Zeichen ruft ein Grafikzeichen aus den G2- bzw. G3-Grafiksätzen auf. In Systemen, die ISO/IEC 4873 (ECMA-43) entsprechen, dürfen diese beiden Oktette nur für diesen Zweck verwendet werden, auch wenn ein anderer C1-Satz als der Standard verwendet wird.
Ö 143 8F SS3 Einschichtig 3
P 144 90 DCS Gerätesteuerzeichenfolge Gefolgt von einer Folge von druckbaren Zeichen (0x20 bis 0x7E) und Formateffektoren (0x08 bis 0x0D), abgeschlossen durch ST (0x9C). Dies kann von Steuersequenzen variabler Länge für Textterminals und Terminalemulatoren verwendet werden, wie beispielsweise  Termininfo- Abfragen.
Q 145 91 PU1 Private Nutzung 1 Reserviert für eine Funktion ohne standardisierte Bedeutung für den privaten Gebrauch nach Bedarf, vorbehaltlich der vorherigen Zustimmung des Absenders und des Empfängers der Daten.
R 146 92 PU2 Private Nutzung 2
S 147 93 STS Sendestatus einstellen
T 148 94 CCH Zeichen abbrechen Destruktive Rücktaste, die Unklarheiten über die Bedeutung von BS beseitigen soll .
U 149 95 MW Nachricht wartet
V 150 96 SPA Beginn des Schutzgebiets Wird von blockorientierten Klemmen verwendet .
W 151 97 EPA Ende des Schutzgebiets
x 152 98 SOS Anfang der Zeichenfolge Gefolgt von einer mit ST (0x9C) abgeschlossenen Steuerzeichenfolge, die im Gegensatz zu denen, die von DCS , OSC , PM oder APC eingeleitet werden , jedes beliebige Zeichen außer SOS oder ST enthalten kann. Nicht Teil der ersten Ausgabe von ISO/IEC 6429.

MARC 21 verwendet SOS und ST in Datensätzen im Unicode-Format, um eine Zeichenfolge zu markieren, die für Sortierzwecke ignoriert werden sollte, während Datensätze im MARC-8- Format NSB und NSE für denselben Zweck verwenden.

Ja 153 99 SGC Einführung in einzelne Grafikzeichen Nicht Teil von ISO/IEC 6429. In frühen Entwürfen von ISO 10646 wurde es verwendet, um ein einzelnes Mehrbyte-Zeichen zu codieren, ohne den HOP- Modus zu verlassen. In späteren Entwürfen wurde diese Einrichtung entfernt, der Name wurde dennoch als RFC  1345- Standardcodepunktname beibehalten .
Z 154 9A SCI Einführung in einzelne Zeichen Darauf folgt ein einzelnes druckbares Zeichen (0x20 bis 0x7E) oder ein Formateffektor (0x08 bis 0x0D). Die Absicht bestand darin, ein Mittel bereitzustellen, mit dem eine Steuerfunktion oder ein grafisches Zeichen definiert werden kann, das unabhängig davon verfügbar ist, welche Grafik- oder Steuersätze verwendet werden. Definitionen, was das folgende Byte aufrufen würde, wurden nie in einem internationalen Standard implementiert. Nicht Teil der ersten Ausgabe von ISO/IEC 6429.
[ 155 9B CSI Steuersequenz-Einführung Wird verwendet, um Steuersequenzen einzuführen, die Parameter übernehmen.
\ 156 9C NS String-Terminator Beendet einen von DCS , SOS , OSC , PM oder APC initiierten Steuerstring variabler Länge .
] 157 9D OSC Betriebssystembefehl Gefolgt von einer Folge von druckbaren Zeichen (0x20 bis 0x7E) und Formateffektoren (0x08 bis 0x0D), abgeschlossen durch ST (0x9C). Diese drei Steuercodes waren zur Verwendung vorgesehen, um eine bandinterne Signalisierung von Protokollinformationen zu ermöglichen, werden jedoch selten für diesen Zweck verwendet.

Einige Terminalemulatoren , einschließlich xterm , unterstützen OSC-Sequenzen zum Einstellen des Fenstertitels und zum Neukonfigurieren der verfügbaren Farbpalette. Sie können auch das Beenden einer OSC-Sequenz mit BEL als Nicht-Standard-Alternative zum Standard-ST unterstützen.

APC wird manchmal verwendet, um Kermit- Befehle zu übertragen , obwohl dies aus Sicherheitsgründen deaktiviert oder gefiltert werden kann.

^ 158 9E PN Datenschutznachricht
_ 159 9F APC Anwendungsprogrammbefehl

C1-Kontrollcodes für die bibliografische Verwendung

Der folgende alternative C1-Kontrollcodesatz ist für bibliografische Anwendungen wie Bibliothekssysteme definiert . Es befasst sich hauptsächlich mit der Sortierung von Zeichenfolgen und mit dem Markup von bibliografischen Feldern. Etwas abweichende Varianten sind in der deutschen Norm DIN 31626 (erschienen 1978 und inzwischen zurückgezogen) und der ISO- Norm ISO 6630 definiert , die auch in Deutschland als DIN ISO 6630 übernommen wurde . Wo diese abweichen, ist in der folgenden Tabelle ggf. vermerkt. MARC-8 verwendet die Kodierung von NSB und NSE aus diesem Satz und fügt einige zusätzliche Formateffektoren an Stellen hinzu, die von der ISO-Version nicht verwendet werden; MARC 21 verwendet diesen Kontrollsatz jedoch nur in MARC-8-Datensätzen, nicht in Datensätzen im Unicode-Format.

Bei Verwendung des ISO/IEC 2022- Erweiterungsmechanismus wird der Satz DIN 31626 als aktiver C1-Steuerzeichensatz mit der Sequenz 0x1B 0x22 0x45( ESC " E) und der Satz ISO 6630 / DIN ISO 6630 mit der Sequenz 0x1B 0x22 0x42( ESC " B) bezeichnet. Die Erweiterung des ISO 6630-Satzes von 1985 kann auch durch die Verwendung der Sequenz 0x1B 0x26 0x40 0x1B 0x22 0x42( ESC & @ ESC " B) explizit angegeben werden .

Esc+ Dezember Verhexen Acro Name Beschreibung
@…F 128…134 80…86 - (reserviert)
g 135 87 CUS Nahaufnahme zum Sortieren (DIN 31626, ISO 6630) Erklärt, dass zwei aufeinanderfolgende Zeichenfolgen, die durch ein Leerzeichen oder ein Trennzeichen getrennt sind, zu Sortierzwecken als ein Wort behandelt werden sollen.
h 136 88 NS B Nicht sortierende Zeichen beginnen (DIN 31626, ISO 6630, MARC 21) Markiert den Beginn einer Zeichenfolge, die für Sortierzwecke ignoriert werden soll. MARC 21 verwendet dieses Zeichen in MARC-8- Datensätzen, verwendet jedoch 0x98 ( SOS ) in Unicode-Datensätzen für denselben Zweck.
ich 137 89 NSE Nicht sortierende Zeichen Ende (DIN 31626, ISO 6630, MARC 21) Markiert das Ende einer Zeichenfolge, die für Sortierzwecke ignoriert werden soll. MARC 21 verwendet dieses Zeichen in MARC-8-Datensätzen, verwendet jedoch 0x9C ( ST ) in Unicode-Datensätzen für denselben Zweck.
J 138 8A FIL Füllzeichen (DIN 31626) Ersetzt ein obligatorisches alphanumerisches Zeichen in einem Feld.
K 139 8B TCI Tag im Kontextindikator (DIN 31626) Innerhalb eines bibliographischen Feldes, wird verwendet, um auf Daten in einem anderen bibliographischen Feld durch seine Tag-Nummer zu verweisen.
PLD Teilweise Line-Down (ISO 6630) Nicht in der Originalausgabe von ISO 6630. In der 1985er Ausgabe von ISO 6630, verwendet für Partial Line Down (siehe PLD oben).
L 140 8C ICI Identifikationsnummer im Kontextindikator (DIN 31626) Wird innerhalb eines Titelfeldes verwendet, um anhand seiner ID-Nummer auf Daten in einem anderen Titelsatz zu verweisen.
PLU Teilweise Aufstellung (ISO 6630) Nicht in der Originalausgabe von ISO 6630. In der 1985er Ausgabe von ISO 6630, verwendet für Teilaufstellung (siehe PLU oben).
m 141 8D OSC Optionale Syllabifikationskontrolle (DIN 31626) Markiert eine Silbengrenze in einem langen Wort. Siehe auch weicher Bindestrich .
ZWJ Schreiner (MARC 21) Wird in MARC-8 für den Zero-Width Joiner verwendet , während U+200D in MARC-Datensätzen im Unicode-Format verwendet wird.
n 142 8E SS2 Einschicht 2 (DIN 31626) Nicht sperrender Schaltcode, siehe SS2 oben.
ZWNJ Nicht-Joiner (MARC 21) Wird in MARC-8 für den Zero-Width Non-Joiner verwendet , während U+200C in MARC-Datensätzen im Unicode-Format verwendet wird.
Ö 143 8F SS3 Einschichtig 3 (DIN 31626) Nicht sperrender Schaltcode , siehe SS3 oben.
P 144 90 - (reserviert)
Q 145 91 EAB Eingebettete Anmerkung Anfang (DIN 31626, ISO 6630) Markiert den Beginn einer Annotation variabler Länge, die in ein bibliografisches Feld eingebettet ist, anstatt durch eine Inhaltsbezeichnung getrennt zu werden.
R 146 92 EAE Eingebettete Anmerkung Ende (DIN 31626, ISO 6630) Markiert das Ende einer eingebetteten Anmerkung variabler Länge.
S 147 93 IST B Artikelspezifikation Anfang (DIN 31626) Markiert den Anfang einer Zeichenfolge mit bestimmten Informationen oder einer Beschreibung, die kein Schlüsselwort oder eine Permutationszeichenfolge ist.
T 148 94 ISE Artikelspezifikation Ende (DIN 31626) Markiert das Ende einer Reihe von spezifischen Informationen.
U 149 95 SIB Sortierung Interpolation Beginn (ISO 6630) Markiert den Anfang einer Zeichenfolge, die nur für Sortierzwecke verwendet wird.
V 150 96 SIE Sortierung Interpolation Ende (ISO 6630) Markiert das Ende einer Zeichenfolge, die nur zu Sortierzwecken verwendet wird.
W 151 97 SSB Sekundärer Sortierwert Anfang (ISO 6630) Markiert den Anfang einer Zeichenfolge mit untergeordnetem Kollatierungswert.
x 152 98 SSE Sekundärer Sortierwert Ende (ISO 6630) Markiert das Ende einer Zeichenfolge mit untergeordnetem Kollatierungswert.
Ja 153 99 INC Indikator für Nicht-Standard-Zeichen (DIN 31626) Kennzeichnet ein nachfolgendes Sonderzeichen.
Z 154 9A - (reserviert)
[ 155 9B - (reserviert)
\ 156 9C KWB Stichwort Anfang (DIN 31626, ISO 6630) Markiert den Beginn eines Schlagworts innerhalb eines bibliografischen Feldes.
] 157 9D KWE Keyword-Ende (DIN 31626, ISO 6630) Markiert das Ende eines Schlagwortes innerhalb eines bibliografischen Feldes.
^ 158 9E PSB Anfang der Permutationszeichenfolge (DIN 31626, ISO 6630) Markiert den Anfang eines Strings, der bei der Generierung von Referenzen oder Indizes an den Anfang des Elements permutiert werden soll. Abgeschlossen durch PSE oder am Ende des Elements.
_ 159 9F PSE Ende der Permutationszeichenfolge (DIN 31626, ISO 6630) Markiert das Ende eines Strings, der an die Vorderseite des Elements permutiert werden soll.

Andere C1-Steuercodesätze

EBCDIC definiert neben den in ASCII vorhandenen 16 zusätzliche Steuercodes. Bei der Zuordnung zu Unicode oder ISO 8859 werden diese Codes C1-Steuerzeichen in einer von IBMs Character Data Representation Architecture (CDRA) festgelegten Weise zugeordnet.

Obwohl die Standardzuordnung der New Line (NL)-Steuerung der ISO/IEC 6429 NEL (0x85; obwohl ihre Zuordnung manchmal mit LF getauscht wird, gemäß der UNIX-Zeilenendkonvention) entspricht, entsprechen die restlichen Steuercodes nicht ISO/IEC 6429. Beispielsweise werden die EBCDIC-Steuerungs- SPS (0x09, zugeordnet auf 0x8D) und die ECMA-48-Steuerungs- PLU (0x8C) beide verwendet, um einen hochgestellten Index zu beginnen oder einen tiefgestellten Index zu beenden, werden jedoch nicht einander zugeordnet. Extended-ASCII-mapped EBCDIC kann daher als eigenes C1-Set angesehen werden, obwohl es nicht bei der ISO-IR- Registrierung für die Verwendung mit ISO/IEC 2022 registriert ist .

Verschiedene spezialisierte C1-Steuercodesätze sind zur Verwendung durch verschiedene Videotex- Formate registriert .

Unicode

Unicode setzt 65 Codepunkte in der allgemeinen Kategorie "Cc" (Control) für die Kompatibilität mit ISO/IEC 2022 beiseite . Die Kontrollcodes in dieser Kategorie umfassen U+0000—U+001F (C0-Kontrollen), U+007F (Löschen) und U+0080—U+009F (C1-Kontrollen). Unicode gibt nur die Semantik für U+0009—U+000D, U+001C—U+001F und U+0085 an. Der Rest der Steuercodes ist für Unicode transparent und ihre Bedeutung wird höheren Protokollen überlassen.

Unicode hat keine anderen Codepunkte der Kategorie "Cc" als die C0- und C1-Codepunkte. Es enthält jedoch zusätzliche Formateffektorzeichen neben denen in den C0- und C1-Steuerungssätzen, wie Markierungen, Einbettungen, Isolate und Pops für die explizite bidirektionale Formatierung sowie den Joiner mit Nullbreite und den Non-Joiner zur Steuerung der Ligaturverwendung. Diese erhalten die allgemeine Kategorie "Cf" (Format) statt "Cc".

Siehe auch

Fußnoten

Verweise