Backslash

Aus besserwiki.de
\
Interpunktionszeichen
Komma, Beistrich ,
Strichpunkt, Semikolon ;
Doppelpunkt, Kolon :
Punkt .
Auslassungspunkte
Mittelpunkt ·
Aufzählungszeichen
Fragezeichen ?
Ausrufe‑, Ausruf‑, Rufzeichen !
Apostroph, Hochkomma
‐ - Bindestrich; Trennstrich;
Ergänzungsstrich
Gedankenstrich; Bis-Strich
Anführungszeichen„ “ » « / « »
‚ ‘  › ‹ / ‹ › 
Schrägstrich; Backslash / \
Klammern ( ) [ ]

Der Backslash (englisch, zusammengesetzt aus: back = rückwärts und slash = Schrägstrich), auch Rückstrich, seltener auch Rückschlag, Gegenschrägstrich, Rückschrägstrich, „linksseitiger“, „umgekehrter“ oder „rückwärtiger Schrägstrich“ genannt, ist das Schriftzeichen „\“.

\
Backslash
In UnicodeU+005C \ REVERSE SOLIDUS (\)
Verwandt
Siehe auchU+29F5 UMGEKEHRTER SOLIDUS-OPERATOR

U+29F9 GROSSER UMGEKEHRTER SOLIDUS

U+FF3C UMGEKEHRTER VOLLTON IN VOLLER BREITE

Der Backslash \ ist ein typografisches Zeichen, das hauptsächlich in der Informatik und Mathematik verwendet wird. Er ist das Spiegelbild des üblichen Schrägstrichs /. Es handelt sich um ein relativ neues Zeichen, das erstmals in den 1930er Jahren dokumentiert wurde.

Geschichte

Eine Teletype Wheatstone Perforator-Tastatur aus den 1930er Jahren, mit Backslash am Ende der dritten Zeile
Teletype ASR-33-Tastaturlayout mit ASCII-Zeichensatz, vor dem 14. Juni 1966, mit Backslash auf Shift+L

Bis November 2021 ist es nicht gelungen, den Ursprung dieses Zeichens oder seinen Zweck vor den 1960er Jahren zu ermitteln. Der früheste bekannte Hinweis, der bisher gefunden wurde, ist ein Wartungshandbuch der Teletype Corporation aus dem Jahr 1937 mit einem Foto, das die Tastatur des Kleinschmidt-Tastaturperforators WPE-3 zeigt, der das Wheatstone-System verwendet. Das Symbol wurde als "Diagonaltaste" bezeichnet und mit dem (nicht genormten) Morsecode ▄▄▄▄ ▄ ▄▄▄ versehen. (Dies ist der Code für das Schrägstrichsymbol, rückwärts eingegeben.)

Im Juni 1960 veröffentlichte IBM einen "Erweiterten Zeichensatzstandard", der das Symbol 0x19 enthielt. Im September 1961 schlug Bob Bemer (IBM) dem Normenausschuss X3.2 vor, dass [, ] und \ in den vorgeschlagenen Standard aufzunehmen, wobei er den Backslash als "umgekehrten Divisionsoperator" bezeichnete und seine frühere Verwendung durch Teletype in der Telekommunikation anführte. Insbesondere sei der Schrägstrich erforderlich, damit die booleschen ALGOL-Operatoren (logische Konjunktion) und (logische Disjunktion) mit /\ bzw. \/ zusammengesetzt werden können. Der Ausschuss nahm diese Änderungen auf seiner Sitzung im November 1961 in den Entwurf des amerikanischen Standards (später ASCII genannt) auf.

Diese Operatoren wurden in frühen Versionen der Programmiersprache C, die mit Unix V6 und V7 geliefert wurde, für min und max verwendet.

Das Teletype Model 33 (1963) scheint das erste kommerziell erhältliche Gerät zu sein, das das Zeichen als Standardtastatur für den Verkauf in einigen Märkten hat; dieses Modell hat einen vollständigen ASCII-Zeichensatz.

Verwendung

Programmiersprachen

In vielen Programmiersprachen wie C, Perl, PHP, Python, Unix-Skriptsprachen und vielen Dateiformaten wie JSON wird der Backslash als Escape-Zeichen verwendet, um anzuzeigen, dass das darauf folgende Zeichen besonders behandelt werden soll (wenn es sonst normal behandelt würde) oder normal (wenn es sonst besonders behandelt würde). In einem C-Zeichenfolgenliteral wird zum Beispiel die Sequenz \n ein Zeilenumbruch-Byte anstelle eines 'n', und die Sequenz \" erzeugt ein echtes Anführungszeichen und nicht die besondere Bedeutung des Anführungszeichens am Ende der Zeichenkette. Ein echter Backslash wird durch einen doppelten Backslash erzeugt \\.

Die Sprachen für reguläre Ausdrücke verwenden es auf die gleiche Weise, indem sie nachfolgende literale Zeichen in Metazeichen umwandeln und umgekehrt. Zum Beispiel sucht \||b entweder nach '|' oder 'b', wobei der erste Balken maskiert und gesucht wird, der zweite nicht maskiert ist und als "oder" fungiert.

Außerhalb von Zeichenketten in Anführungszeichen wird der Backslash in der Regel nur verwendet, um einen unmittelbar nachfolgenden Zeilenumbruch zu ignorieren ("escapen"). In diesem Zusammenhang kann man von einer "fortgesetzten Zeile" sprechen, da die aktuelle Zeile in die nächste übergeht. Manche Software ersetzt den Backslash+Neustrich durch ein Leerzeichen.

Um Computer zu unterstützen, denen das Backslash-Zeichen fehlte, wurde der C-Trigraph ??/ hinzugefügt, der mit einem Backslash gleichzusetzen ist. Da dieser das nächste Zeichen, das selbst ein Backslash sein kann, ausblenden kann ?sein kann, wird er heute in erster Linie zur Codeverschleierung verwendet. Die Unterstützung für Trigraphen wurde in C++17 entfernt.

In Visual Basic (und einigen anderen BASIC-Dialekten) wird der Backslash als Operatorsymbol verwendet, um eine Ganzzahldivision anzuzeigen. Dies rundet gegen Null.

Die Programmiersprache ALGOL 68 verwendet das "\" als dezimales Exponentensymbol. ALGOL 68 hat die Wahl zwischen 4 dezimalen Exponentensymbolen: e, E, \, oder 10. Beispiele: 6.0221415e23, 6.0221415E23, 6.0221415\23 oder 6.02214151023.

In APL wird \ Expand genannt, wenn es zum Einfügen von Füllelementen in Arrays verwendet wird, und Scan, wenn es zur Erzeugung einer Präfixreduktion (kumulative Faltung) verwendet wird.

In PHP Version 5.3 und höher wird der Backslash verwendet, um einen Namensraum zu kennzeichnen.

In Haskell wird der Backslash sowohl zur Einführung von Sonderzeichen als auch zur Einführung von Lambda-Funktionen verwendet (da er in ASCII eine vernünftige Annäherung an den griechischen Buchstaben lambda, λ, darstellt).

Dateinamen

MS-DOS 2.0, das 1983 veröffentlicht wurde, übernahm das hierarchische Dateisystem von Unix und verwendete daher den (Schräg-)Schrägstrich als Verzeichnis-Trennzeichen. Möglicherweise auf Drängen von IBM fügte Microsoft den umgekehrten Schrägstrich hinzu, um die Eingabe von Pfaden an der Eingabeaufforderung des Befehlszeileninterpreters zu ermöglichen und gleichzeitig die Kompatibilität mit MS-DOS 1.0 (bei dem / der Indikator für die Befehlszeilenoption war) zu wahren. Die Eingabe von "DIR/W" ergab die Option "wide" für den Befehl "DIR", so dass eine andere Methode erforderlich war, wenn man ein Programm namens W in einem Verzeichnis namens DIR ausführen wollte.) Mit Ausnahme von COMMAND.COM akzeptieren alle anderen Teile des Betriebssystems beide Zeichen in einem Pfad, aber die Microsoft-Konvention bleibt, einen Backslash zu verwenden, und APIs, die Pfade zurückgeben, verwenden Backslashes. In einigen Versionen kann das Optionszeichen über SWITCHAR von / in - geändert werden, wodurch COMMAND.COM das / im Befehlsnamen beibehalten kann.

Die Betriebssysteme der Microsoft Windows-Familie haben das MS-DOS-Verhalten geerbt und unterstützen daher nach wie vor beide Zeichen, aber einzelne Windows-Programme und -Subsysteme akzeptieren fälschlicherweise nur den Backslash als Pfadbegrenzer oder interpretieren einen Schrägstrich falsch, wenn er als solcher verwendet wird. Einige Programme akzeptieren Schrägstriche nur, wenn der Pfad in Anführungszeichen gesetzt ist. Die Tatsache, dass Microsofts Sicherheitsfunktionen unerwartete Schrägstriche in lokalen Pfaden und Internetpfaden nicht erkennen, während andere Teile des Betriebssystems darauf reagieren, hat zu einigen schwerwiegenden Sicherheitsmängeln geführt. Auf Ressourcen, die nicht verfügbar sein sollten, wurde mit Pfaden zugegriffen, die bestimmte Mischungen enthalten, wie z. B. http://example.net/secure\private.aspx</nowiki>.

Textauszeichnung

Der Backslash wird im TeX-Satzsystem und in RTF-Dateien verwendet, um Markup-Tags einzuleiten.

In der USFM wird der Backslash zur Kennzeichnung von Formatierungsmerkmalen bei der Bearbeitung von Bibelübersetzungen verwendet.

In Caret-Notation, ^\ für das Steuerzeichen 0x1C, den Dateitrenner. Dies ist ein reiner Zufall und hat nichts mit seiner Verwendung in Dateipfaden zu tun.

Mathematik

Ein Backslash-ähnliches Symbol wird für die Mengendifferenz verwendet.

Der Backslash wird manchmal auch verwendet, um den rechten Kosettraum zu bezeichnen.

Vor allem bei der Beschreibung von Computeralgorithmen ist es üblich, den Backslash so zu definieren, dass a\b äquivalent zu a/b ist. Dies ist eine ganzzahlige Division, die nach unten und nicht gegen Null rundet. In Wolfram Mathematica wird der Backslash auf diese Weise für Ganzzahldivisionen verwendet.

In MATLAB und GNU Octave wird der Backslash für die linke Matrixdivision verwendet, während der Schrägstrich für die rechte Matrixdivision steht.

Verwechslung mit ¥ und anderen Zeichen

In den japanischen Kodierungen ISO 646-JP (ein auf ASCII basierender 7-Bit-Code), JIS X 0201 (ein 8-Bit-Code) und Shift JIS (eine Multi-Byte-Kodierung, die für ASCII 8-Bit ist) wird der Codepunkt 0x5C, der in ASCII für den Backslash verwendet würde, stattdessen als Yen-Zeichen ¥ dargestellt. Aufgrund der häufigen Verwendung des Codepunkts 005C zur Darstellung des Yen-Zeichens wird das Backslash-Zeichen auch heute noch in einigen Schriftarten wie MS Mincho als ¥ dargestellt, so dass die Zeichen an den Unicode-Codepunkten 00A5 (¥) und 005C (\) beide als ¥ dargestellt werden, wenn diese Schriftarten ausgewählt werden. Computerprogramme behandeln 005C in diesen Umgebungen immer noch als Backslash, zeigen es aber als Yen-Zeichen an, was insbesondere bei MS-DOS-Dateinamen zu Verwirrung führt.

Mehrere andere ISO 646-Versionen ersetzen den Backslash auch durch andere Zeichen, darunter ₩ (Koreanisch), Ö (Deutsch, Schwedisch), Ø (Dänisch, Norwegisch), ç (Französisch) und Ñ (Spanisch), was zu ähnlichen Problemen führt, wenn auch mit weniger nachhaltigen Auswirkungen als das Yen-Zeichen.

Im Jahr 1991 schlug RFC 1345 vor // als eindeutige Zwei-Zeichen-Mnemonik vor, die in Internet-Standards als "eine praktische Möglichkeit zur Identifizierung [dieses] Zeichens ohne Bezugnahme auf einen kodierten Zeichensatz und seinen Code in [diesem] kodierten Zeichensatz" verwendet werden könnte. Folglich ist dieser Stil in frühen Dokumenten der Internet Engineering Task Force zu finden.

Allgemeines

Der Backslash befindet sich auf der deutschen Tastatur auf derselben Taste wie das ß (Eszett) und kann mit der Tastenkombination Alt Gr + ß erzeugt werden. Auf der Schweizer Tastatur befindet er sich beim Zeichen <. Bei einer Apple-Tastatur unter Mac OS bzw. macOS wird er, neben anderen Optionen und unter Verwendung einer passenden (z. B. deutschen) Tastaturbelegung, über die Kombination Alt + + 7 erreicht.

Unter DOS und Windows ist er das Trennzeichen von Verzeichnissen in einer Pfadangabe; unter koreanischer Locale wird das Trennzeichen allerdings als ₩ (Wonzeichen) bzw. unter japanischer Locale als ¥ (Yen-Zeichen) anstelle von \ dargestellt. Außerdem steht \ auch für das Stammverzeichnis unter DOS und Windows. Die Kombination \\ wird in UNC-Pfaden verwendet.

In einigen Programmiersprachen, wie C, C++ und artverwandten wird der Backslash als Escape-Zeichen benutzt, um spezielle Zeichen darzustellen (zum Beispiel „\n“ für einen Zeilenumbruch), und unter Visual Basic führt er eine Ganzzahldivision durch. In der Unix-Shell und einigen anderen zeilenorientierten Programmiersprachen wird der Backslash benutzt um Sonderzeichen zu maskieren. So wird zum Beispiel am Ende einer Zeile der Zeilenumbruch durch die Eingabe maskiert und dadurch mehrere Textzeilen zu einer logischen Zeile vereinigt. In Haskell wird der Backslash wegen seiner Ähnlichkeit zum griechischen Buchstaben Lambda (λ) zum Auszeichnen einer Anonymen Funktion, auch als Lambda-Funktion oder Lambda-Ausdruck bezeichnet, verwendet.

Die Aufnahme in den ASCII-Standard (Position 92 dezimal) wurde von Bob Bemer vorgeschlagen. Der Backslash dient als Trennzeichen, da er selten in Texten vorkommt.

In der Mengenlehre dient ein Backslash als Symbol zum Bilden einer Differenzmenge. bedeutet beispielsweise „A ohne B“. In Unicode gibt es für das Differenzmengenzeichen das eigene Zeichen U+2216 (Set Minus) „∖“.

Darstellung in Computersystemen

Name Zeichen Unicode HTML TeX
Position Name hexadezimal dezimal plain TeX LaTeX
Backslash \ U+005C Reverse solidus \ \ $\backslash$ \textbackslash
Backslash als kombinierendes Zeichen ◌⃥ U+20E5 Combining reverse solidus overlay
Differenzmengenzeichen U+2216 Set minus \setminus
Diagonaler Strich links oben–rechts unten U+2572 Box drawings light diagonal upper left to lower right
Operator Backslash U+29F5 Reverse solidus operator
Backslash mit Querstrich U+29F7 Reverse solidus with horizontal stroke
Großer Backslash U+29F9 Big reverse solidus
Kleiner Backslash U+FE68 Small reverse solidus
Vollbreiter Backslash U+FF3C Fullwidth reverse solidus

Backslash im Öffentlichen Personennahverkehr

Im öffentlichen Personennahverkehr bestimmter Städte dient ein der Liniennummer nachgestellter Backslash zur Kennzeichnung von sogenannten durchgestrichenen Linien. Dies gilt insbesondere bei älteren Matrix- beziehungsweise Flip-Dot-Anzeigen, welche die eigentlich gemeinte Durchstreichung der Liniennummer aufgrund ihrer groben Bildauflösung nicht darstellen können. Ein Beispiel hierfür ist die belgische Stadt Lüttich.