Shift Out (englisch für ‚verschiebe hinein‘, Abkürzung „SO“) und Shift In (‚verschiebe hinaus‘, Abkürzung „SI“) sind Steuerzeichen mit den Codepunkten 14 bzw. 15 (0x0E bzw. 0x0F) im ASCII-Code.[1] Sie werden manchmal auch als „Control-N“ und „Control-O“ bezeichnet.
In ihrer ursprünglichen Bedeutung boten die Steuerzeichen die Möglichkeit, in einer elektromechanischen Schreibmaschine oder einem Fernschreiber wie dem Teletype Model 38 ein Farbband, das normalerweise in Längsrichtung in Rot und Schwarz geteilt war, automatisch je nach der gewünschten Darstellungsfarbe für die folgenden Zeichen zu verschieben. Schwarz war die Standardfarbe, aus der „hinein“ oder (für Rot) „heraus“ verschoben wurde.
Spätere Fortschritte in der Technik veranlassten die Verwendung dieser Funktion zum Umschalten auf eine andere Schriftart oder einen anderen Zeichensatz und zurück. Dies wurde beispielsweise für das russische Zeichensatzsystem KOI7 angewendet, bei dem SO das Drucken russischer Buchstaben einleitet und SI wieder auf das Drucken lateinischer Buchstaben zurückschaltet. In ähnlicher Weise werden die Steuerzeichen zum Umschalten zwischen Katakana- und lateinischen Buchstaben in der 7-Bit-Version des japanischen JIS X 0201 verwendet.[2][3]
Die Steuerzeichen werden auch verwendet, um VT100-Pseudografikzeichen (wie Rahmenzeichen) anzuzeigen.
Der Standard ISO/IEC 2022 (ECMA-35, JIS X 0202) standardisiert die allgemeine Verwendung von SO und SI zum Umschalten zwischen vordefinierten Zeichensätzen, die über den Bytebereich 0x20–0x7F aufgerufen werden. Sie werden in einer 8-Bit-Umgebung als Locking Shift One (LS1) und Locking Shift Zero (LS0) oder in einer 7-Bit-Umgebung als SO und SI bezeichnet.[4]