Shift Out (SO) y Shift In (SI) son caracteres de control ASCII 14 y 15, respectivamente (0x0E y 0x0F). [1] A veces también se les llama "Control-N" y "Control-O".
El propósito original de estos caracteres era proporcionar una manera de cambiar una cinta de color, generalmente dividida longitudinalmente con rojo y negro, hacia arriba y hacia abajo al otro color en una máquina de escribir electromecánica o teleimpresora , como el Teletipo Modelo 38, para automatizar la misma función de las máquinas de escribir manuales. El negro era el color ambiental predeterminado convencional y, por lo tanto, se desplazaba "adentro" o "afuera" con el otro color de la cinta.
Los avances posteriores en la tecnología instigaron el uso de esta función para cambiar a una fuente o conjunto de caracteres diferente y viceversa. Esto se usó, por ejemplo, en el conjunto de caracteres ruso conocido como KOI7-switched , donde SO comienza a imprimir letras rusas y SI comienza a imprimir letras latinas nuevamente. De manera similar, se utilizan para cambiar entre letras katakana y romanas en la versión de 7 bits del JIS X 0201 japonés . [2] [3]
Los caracteres de control SO/SI también se utilizan para mostrar pseudográficos del VT100 . Shift In también se utiliza en la variante 2G [4] de la codificación de emoji de SoftBank Mobile .
El estándar ISO/IEC 2022 ( ECMA -35, JIS X 0202) estandariza el uso generalizado de SO y SI para cambiar entre conjuntos de caracteres predesignados invocados en el rango de bytes 0x20–0x7F. Se refiere a ellos respectivamente como Locking Shift One (LS1) y Locking Shift Zero (LS0) en un entorno de 8 bits, o como SO y SI en un entorno de 7 bits. [5] En los conjuntos de códigos compatibles con ISO-2022 donde los caracteres 0x0E y 0x0F se utilizan con fines de énfasis (como una fuente en cursiva o roja) en lugar de un cambio de conjunto de caracteres, se denominan respectivamente Carril superior ( UR) y Lower Rail (LR), en lugar de SO y SI. [6]