Backslash - Backslash

\
Backslash
In  Unicode U+005C \ REVERSE SOLIDUS (HTML \  · \ )
 ⧵   ⧹  Ich
Reverse Solidus-Operator Großer umgekehrter Solidus Reverse Solidus in voller Breite

Der Backslash \ ist ein typografisches Zeichen, das hauptsächlich in der Computerbranche verwendet wird und ist das Spiegelbild des üblichen Schrägstrichs / . Es wird manchmal ein genannt Hack , Whack , Flucht (von C / UNIX ), umgekehrtem Schrägstrich , schwappt , downwhack , backslant , backwhack , bash , umgekehrte Schräg und Reversed virgule . In Unicode und ASCII ist es mit U+005C \ REVERSE SOLIDUS (92 dezimal ) codiert .

Geschichte

Teletype ASR-33-Tastaturlayout mit ASCII-Zeichensatz, vor dem 14. Juni 1966, mit umgekehrtem Schrägstrich bei Umschalt+L

Ab Mai 2021 waren die Bemühungen, entweder den Ursprung dieses Zeichens oder seinen Zweck vor den 1960er Jahren zu identifizieren, nicht erfolgreich. Die früheste bekannte Referenz, die bisher gefunden wurde, ist ein Wartungshandbuch der Teletype Corporation aus dem Jahr 1937 mit einem Foto, das die Tastatur ihres Wheatstone-Perforators zeigt . Der Zweck des Schlüssels muss noch entdeckt werden, da das Symbol keine Morsecode-Codierung aufwies und somit nicht übertragen worden wäre.

Im Juni 1960 veröffentlichte IBM einen "Extended Character Set Standard", der das Symbol bei 0x19 enthält. Im September 1961 schlug Bob Bemer (IBM) dem X3.2-Standardkomitee vor, dass [, ]und \in den vorgeschlagenen Standard aufgenommen werden sollte, indem er den Backslash als "Reverse Division Operator" bezeichnete und seine frühere Verwendung durch Teletype in der Telekommunikation anführte. Insbesondere sei \ notwendig, damit die booleschen ALGOL-Operatoren ( logische Konjunktion ) und ( logische Disjunktion ) aus /\ bzw. \/ zusammengesetzt werden könnten . Das Komitee nahm diese Änderungen auf seiner Sitzung im November 1961 in den Entwurf des American Standards (später als ASCII bezeichnet ) an.

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

Das Teletype Model 33 ("ASR-33") scheint das erste kommerziell erhältliche Gerät zu sein, das in einigen Märkten den Charakter einer Standardtastatur hat; Dieses Modell verfügt über einen vollständigen ASCII-Zeichensatz.

Verwendungszweck

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 sollte (wenn dies der Fall wäre). sonst normal behandelt werden) oder normal (wenn es sonst besonders behandelt würde). Zum Beispiel erzeugt die Sequenz innerhalb eines C- String-Literals\n ein Zeilenumbruch- Byte anstelle eines 'n', und die Sequenz \"erzeugt ein tatsächliches doppeltes Anführungszeichen anstelle der besonderen Bedeutung des doppelten Anführungszeichens, das den String beendet. Ein tatsächlicher Backslash wird durch einen doppelten Backslash erzeugt \\.

Sprachen mit regulären Ausdrücken verwendeten es auf die gleiche Weise, wobei nachfolgende Literalzeichen in Metazeichen umgewandelt wurden und umgekehrt. Zum Beispiel sucht \||b entweder nach '|' oder 'b', der erste Strich wird maskiert und gesucht, der zweite wird nicht maskiert und fungiert als "oder".

Außerhalb von Strings in Anführungszeichen besteht die einzige übliche Verwendung von Backslash darin, einen Zeilenumbruch unmittelbar danach zu ignorieren ("escape"). In diesem Zusammenhang kann sie als "fortgesetzte Zeile" bezeichnet werden, da die aktuelle Zeile in die nächste übergeht. Manche Software ersetzt Backslash+Newline durch ein Leerzeichen.

Um Computer zu unterstützen , denen der umgekehrte Schrägstrich fehlte, wurde der Trigraph C ??/ hinzugefügt, der einem umgekehrten Schrägstrich entspricht. Da dies das nächste Zeichen, das selbst ein sein ?kann, maskieren kann, kann die moderne Hauptverwendung die Codeverschleierung sein . Die Unterstützung für Trigraphen wurde in C++17 entfernt .

In Visual Basic (und einigen anderen BASIC - Dialekten) ist der Backslash als Operator Symbol verwendet , um anzuzeigen , integer Teilung . Dies rundet gegen Null.

Die Programmiersprache ALGOL 68 verwendet das "\" als Dezimalexponentensymbol . ALGOL 68 hat die Wahl zwischen 4 Dezimalexponentensymbolen: e, E, \ oder 10 . Beispiele: 6.0221415e23 , 6.0221415E23 , 6.0221415\23 oder 6.0221415 10 23 .

In APL \ heißt erweitern , wenn verwendet , um fill Elemente in Arrays einfügen und Scan , wenn zu produzieren Präfix Reduktion (kumulatives fach) verwendet.

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

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, λ ist).

Dateinamen

MS-DOS 2.0, veröffentlicht 1983, kopierte das hierarchische Dateisystem von Unix und verwendete daher den (Vorwärts-) Schrägstrich , fügte jedoch (möglicherweise auf Drängen von IBM) den umgekehrten Schrägstrich hinzu, um die Eingabe von Pfaden an der Eingabeaufforderung des Befehlszeileninterpreters zu ermöglichen und gleichzeitig die Kompatibilität zu erhalten mit MS-DOS 1.0, wo der Schrägstrich der Befehlszeilenoptionsindikator war (die Eingabe von " DIR/W " gab dem Befehl " DIR " die Option "wide" , sodass eine andere Methode erforderlich war, wenn Sie tatsächlich ein Programm namens . ausführen wollten W in einem Verzeichnis namens DIR ). Mit Ausnahme von COMMAND.COM akzeptieren alle anderen Teile des Betriebssystems beide Zeichen in einem Pfad , aber die Microsoft-Konvention bleibt, einen umgekehrten Schrägstrich zu verwenden, und APIs , die Pfade zurückgeben, verwenden umgekehrte Schrägstriche. In einigen Versionen kann das Optionszeichen von / zu - über SWITCHAR geändert werden , wodurch COMMAND.COM / im Befehlsnamen beibehalten kann .

Die Microsoft Windows- Betriebssystemfamilie hat das MS-DOS-Verhalten geerbt und unterstützt daher immer noch beide Zeichen – aber einzelne Windows-Programme und -Subsysteme akzeptieren möglicherweise fälschlicherweise nur den umgekehrten Schrägstrich als Pfadtrennzeichen oder interpretieren einen Schrägstrich falsch, wenn dies der Fall ist als solche verwendet. Einige Programme akzeptieren Schrägstriche nur, wenn der Pfad in doppelte Anführungszeichen gesetzt wird . Das Versagen der Sicherheitsfunktionen von Microsoft, Schrägstriche in lokalen und Internetpfaden in unerwarteter Richtung zu erkennen, während andere Teile des Betriebssystems noch darauf reagieren, hat zu einigen schwerwiegenden Sicherheitslücken geführt. Auf Ressourcen, die nicht verfügbar sein sollten, wurde mit Pfaden zugegriffen, die bestimmte Mischungen verwenden, wie z. B. http://example.net/secure\private.aspx .

Textauszeichnung

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

In USFM wird der Backslash verwendet, um Formatierungsmerkmale für die Bearbeitung von Bibelübersetzungen zu markieren .

In Caret - Notation , ^\stellt die Steuerzeichen 0x1C, Datei - Separator . Dies ist reiner Zufall und hat nichts mit der Verwendung in Dateipfaden zu tun.

Mathematik

Für die eingestellte Differenz wird ein Backslash-ähnliches Symbol verwendet .

Der umgekehrte Schrägstrich wird manchmal auch verwendet, um den richtigen Nebensatzraum anzugeben .

Insbesondere bei der Beschreibung von Computeralgorithmen ist es üblich, Backslash so zu definieren, dass a \ b äquivalent zu a / b ⌋ ist . Dies ist eine ganzzahlige Division, die abrundet, nicht gegen Null. In Wolfram Mathematica wird der Backslash auf diese Weise für die ganzzahlige Division verwendet.

In MATLAB und GNU Octave wird der Backslash für die Division der linken Matrix verwendet , während der (Vorwärts-)Slash für die Division der rechten Matrix verwendet wird.

Verwechslung mit ¥ und anderen Charakteren

In den japanischen Kodierungen ISO 646-JP (ein 7-Bit-Code basierend auf ASCII ), JIS X 0201 (ein 8-Bit-Code) und Shift JIS (eine Multi-Byte-Kodierung, die 8-Bit für ASCII ist), ist der Code Punkt 0x5C , die in ASCII für Backslash verwendet werden würde , wird stattdessen als gerenderte Yen - Zeichen ¥ . Aufgrund der umfangreichen Verwendung des 005C-Codepunktes zur Darstellung des Yen-Zeichens rendern einige Schriftarten wie MS Mincho das Backslash-Zeichen auch heute noch als ¥, sodass die Zeichen an den Unicode- Codepunkten 00A5 (¥) und 005C (\) beide als ¥ wenn diese Schriftarten ausgewählt sind. Computerprogramme behandeln 005C in diesen Umgebungen immer noch als umgekehrten Schrägstrich, zeigen es jedoch als Yen-Zeichen an, was insbesondere bei MS-DOS-Dateinamen zu Verwirrung führt.

Mehrere andere ISO 646- Versionen ersetzen auch den umgekehrten Schrägstrich durch andere Zeichen, darunter (Koreanisch), Ö (Deutsch, Schwedisch), Ø (Dänisch, Norwegisch), ç (Französisch) und Ñ (Spanisch), was zu ähnlichen Problemen führt, allerdings mit weniger nachhaltige Wirkung im Vergleich zum Yen-Zeichen.

RFC 1345 schlägt //als einzigartiges Zweizeichen- Mnemonik vor , das in Internetstandards als "praktische Möglichkeit zur Identifizierung [dieses] Zeichens ohne Bezugnahme auf einen codierten Zeichensatz und seinen Code in [diesem] codierten Zeichensatz" verwendet werden kann.

Siehe auch

Verweise

Externe Links