
Shift Out (SO) とShift In (SI) は、それぞれASCII制御文字14 と 15 (0x0E と 0x0F) です。[ 1 ]これらは「Control-N」と「Control-O」とも呼ばれます。
これらの文字の本来の目的は、テレタイプモデル 38などの電気機械式タイプライターやテレプリンターにおいて、通常赤と黒に縦方向に分割されたカラーリボンを上下に動かして、もう一方の色に切り替えることで、手動式タイプライターと同じ機能を自動化することでした。黒は従来の環境デフォルトカラーであったため、リボン上のもう一方の色と連動して「イン」または「アウト」されました。
後の技術進歩により、この機能は別のフォントや文字セットに切り替えたり元に戻したりするために使われるようになった。これは、例えばKOI7-switchedとして知られるロシア語文字セットで使われており、SOでロシア語の文字が印刷され、SIで再びラテン文字が印刷される。同様に、日本語のJIS X 0201の7ビット版では、カタカナとローマ字の切り替えに使われている。[ 2 ] [ 3 ]
SO/SI制御文字はVT100擬似グラフィックを表示するためにも使用されます。Shift Inはソフトバンクモバイルの絵文字エンコーディングの2Gバージョン[ 4 ]でも使用されます。
ISO /IEC 2022規格 ( ECMA -35、JIS X 0202 ) は、0x20~0x7F バイト範囲で呼び出される事前指定文字セット間の切り替えに SO と SI を一般的に使用することを標準化しています。8 ビット環境ではそれぞれロッキング シフト 1 (LS1) とロッキング シフト ゼロ(LS0) と呼ばれ、7 ビット環境では SO と SI と呼ばれます。[ 5 ] ISO-2022 準拠のコード セットでは、0x0E と 0x0F 文字が文字セットの変更ではなく強調 (斜体や赤色のフォントなど) の目的で使用されているため、SO と SI ではなく、それぞれアッパー レール(UR) とロワー レール(LR)と呼ばれます。[ 6 ]