Barra invertida

ImprimirCitar
Marca tipográfica ()

La barra invertida es una marca tipográfica utilizada principalmente en informática y matemáticas. Es la imagen reflejada de la barra inclinada común /. Es una marca relativamente reciente, documentada por primera vez en la década de 1930. A veces se le llama hack, whack, escape (desde C/UNIX), barra invertida, chapotear, golpe hacia abajo, inclinación hacia atrás, golpe hacia atrás, golpe, inclinación hacia atrás, y virgula invertida.

Historia

Un teclado de perforador de piedra calefactor de Teletipo de los años 30, con retroceso al final de la tercera fila
Diseño de teclado ASR-33 con ASCII conjunto de caracteres, antes del 14 de junio de 1966, con retroceso en cambio+L

Hasta noviembre de 2022, los esfuerzos para identificar el origen de este personaje o su propósito antes de la década de 1960 no han tenido éxito. La primera referencia conocida encontrada hasta la fecha es un manual de mantenimiento de 1937 de Teletype Corporation con una fotografía que muestra el teclado de su perforador de teclado Kleinschmidt WPE-3 utilizando el sistema Wheatstone. El símbolo se llamó "tecla diagonal" y se le dio un código Morse (no estándar) de ▄ ▄▄▄ ▄ ▄ ▄▄▄ . (Este es el código para el símbolo de barra inclinada, ingresado al revés).

En junio de 1960, IBM publicó un "estándar de juego de caracteres extendido" que incluye el símbolo en 0x19. En septiembre de 1961, Bob Bemer (IBM) propuso al comité de estándares X3.2 que [, ] y forme parte del estándar propuesto, describiendo el barra invertida como "operador de división inversa" y citó su uso anterior por Teletype en telecomunicaciones. En particular, dijo, se necesitaba para que los operadores booleanos ALGOL (conjunción lógica) y (disyunción lógica) podría componerse usando / y / respectivamente. El Comité adoptó estos cambios en el borrador de American Standard (posteriormente denominado ASCII) en su reunión de noviembre de 1961.

Estos operadores se usaban para min y max en las primeras versiones del lenguaje de programación C suministrado con Unix V6 y V7.

El Teletype Model 33 (1963) parece ser la primera unidad comercialmente disponible que tiene el carácter como teclado estándar para la venta en algunos mercados; este modelo tiene un conjunto completo de caracteres ASCII.

Uso

Lenguajes de programación

En muchos lenguajes de programación como C, Perl, PHP, Python, lenguajes de secuencias de comandos Unix y muchos formatos de archivo como JSON, la barra invertida se usa como un carácter de escape para indicar que el carácter que le sigue debe tratarse de manera especial (si de otro modo sería tratado literalmente), o literalmente (si de otro modo sería tratado de manera especial). Por ejemplo, dentro de un literal de cadena C, la secuencia n produce un byte de nueva línea en lugar de 'n', y la secuencia " produce una comilla doble real en lugar del significado especial de la comilla doble que termina la cadena. Una barra invertida real se produce mediante una barra invertida doble \.

Los lenguajes de expresiones regulares lo usaban de la misma manera, cambiando los caracteres literales subsiguientes en metacaracteres y viceversa. Por ejemplo, ||b busca '|' o 'b', la primera barra se escapa y se busca, la segunda no se escapa y actúa como un "o".

Fuera de las cadenas entre comillas, el único uso común de la barra invertida es ignorar ("escape") una nueva línea inmediatamente después.. En este contexto, puede llamarse "línea continua" a medida que la línea actual continúa en la siguiente. Algunos programas reemplazan la barra diagonal inversa + nueva línea con un espacio.

Para admitir computadoras que carecían del carácter de barra invertida, el trigrafo C Se agregó ??/, que es equivalente a una barra invertida. Dado que esto puede escapar del siguiente carácter, que puede ser un ?, el principal uso moderno puede ser para la ofuscación de código. El soporte para trigraphs en C++ se eliminó en C++17, aunque permanece en C.

En Visual Basic (y algunos otros dialectos BASIC) la barra invertida se usa como un símbolo de operador para indicar la división de enteros. Esto redondea hacia cero.

El lenguaje de programación ALGOL 68 utiliza el "" como su símbolo de exponente decimal. ALGOL 68 tiene la opción de 4 símbolos de exponentes decimales: e, E, o 10. Ejemplos: 6.0221415e23, 6.0221415E23, 6.022141523 o 6.02214151023.

En APL, se llama Expand cuando se usa para insertar elementos de relleno en matrices, y Scan cuando se usa para producir reducción de prefijo (pliegue acumulativo).

En PHP versión 5.3 y superior, la barra invertida se usa para indicar un espacio de nombres.

En Haskell, la barra invertida se usa tanto para introducir caracteres especiales como para introducir funciones lambda (ya que es una aproximación razonable en ASCII de la letra griega lambda, λ).

Nombres de archivo

MS-DOS 2.0, lanzado en 1983, copió la idea de un sistema de archivos jerárquico de Unix y, por lo tanto, usó la barra diagonal (forward) como separador de directorio. Posiblemente ante la insistencia de IBM, Microsoft agregó la barra invertida para permitir que las rutas se escriban en el indicador del intérprete de la línea de comandos, manteniendo la compatibilidad con MS-DOS 1.0 (en el que / era el indicador de opciones de la línea de comandos. Escribiendo "DIR/W& #34; dio la opción "wide" al comando "DIR", por lo que se necesitaba algún otro método si uno realmente quería ejecute un programa llamado W dentro de un directorio llamado DIR). A excepción de COMMAND.COM, todas las demás partes del sistema operativo aceptan ambos caracteres en una ruta, pero la convención de Microsoft sigue siendo usar una barra invertida, y las API que devuelven rutas usan barras invertidas. En algunas versiones, el carácter de opción se puede cambiar de / a - a través de SWITCHAR, lo que permite que COMMAND.COM conserve / en el nombre del comando.

La familia de sistemas operativos Microsoft Windows heredó el comportamiento de MS-DOS y, por lo tanto, aún admite cualquiera de los caracteres, pero los programas y subsistemas individuales de Windows pueden, erróneamente, aceptar solo la barra invertida como delimitador de ruta, o pueden malinterpretar una barra inclinada. si se usa como tal. Algunos programas solo aceptarán barras diagonales si la ruta se coloca entre comillas dobles. El hecho de que las funciones de seguridad de Microsoft no reconozcan las barras inclinadas en direcciones inesperadas en las rutas locales y de Internet, mientras que otras partes del sistema operativo aún actúan sobre ellas, ha provocado algunos fallos graves en la seguridad. Se ha accedido a recursos que no deberían estar disponibles con rutas usando combinaciones particulares, como http://example.net/secureprivate.aspx.

Marcado de texto

La barra invertida se usa en el sistema de composición tipográfica TeX y en los archivos RTF para comenzar las etiquetas de marcado.

En USFM, la barra invertida se usa para marcar características de formato para editar traducciones de la Biblia.

En notación de intercalación, ^ representa el carácter de control 0x1C, separador de archivos. Esto es completamente una coincidencia y no tiene nada que ver con su uso en las rutas de archivos.

Matemáticas

Se utiliza un símbolo similar a una barra invertida para la diferencia de conjuntos.

La barra invertida también se usa a veces para indicar el espacio de clase lateral correcto.

Especialmente cuando se describen algoritmos informáticos, es común definir una barra invertida de modo que ab sea equivalente a a/b. Esta es una división de enteros que redondea hacia abajo, no hacia cero. En Wolfram Mathematica, la barra invertida se usa de esta manera para dividir enteros.

En MATLAB y GNU Octave, la barra invertida se usa para dividir la matriz a la izquierda, mientras que la barra inclinada (hacia adelante) es para dividir la matriz a la derecha.

Confusión con ¥ y otros caracteres

En las codificaciones japonesas ISO 646-JP (un código de 7 bits basado en ASCII), JIS X 0201 (un código de 8 bits) y Shift JIS (una codificación de varios bytes que es de 8 bits para ASCII), el punto de código 0x5C que se usaría para la barra invertida en ASCII se representa como un signo de yen ¥. Debido al uso extensivo del punto de código 005C para representar el signo de yen, incluso hoy en día algunas fuentes como MS Mincho representan el carácter de barra invertida como ¥, por lo que los caracteres en los puntos de código Unicode 00A5 (¥) y 005C () se representan como ¥ cuando se seleccionan estas fuentes. Los programas informáticos todavía tratan 005C como una barra invertida en estos entornos, pero lo muestran como un signo de yen, lo que genera confusión, especialmente en los nombres de archivo de MS-DOS.

Varias otras versiones de ISO 646 también reemplazan la barra invertida con otros caracteres, incluidos ₩ (coreano), Ö (alemán, sueco), Ø (danés, noruego), ç (francés) y Ñ (español), lo que genera problemas similares. aunque con un impacto menos duradero en comparación con el signo del yen.

En 1991, RFC 1345 sugirió // como un mnemotécnico único de dos caracteres que podría usarse en los estándares de Internet como "una forma práctica de identificar [este] carácter, sin referencia a un conjunto de caracteres codificados y su código en [ese] conjunto de caracteres codificados". En consecuencia, este estilo se puede ver en los primeros documentos del Grupo de Trabajo de Ingeniería de Internet.

Contenido relacionado

Torno de alfarero

En alfarería, el torno de alfarero o rueda de alfarero es una máquina que se utiliza para moldear arcilla en cerámica redonda. La rueda también se puede...

Filtro lineal

Los filtros lineales procesan señales de entrada variables en el tiempo para producir señales de salida, sujetas a la restricción de linealidad. En la...

Lectura incremental

La lectura incremental es un método asistido por software para aprender y retener información de la lectura, que implica la creación de tarjetas...
Más resultados...
Tamaño del texto:
Copiar