Backslash

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The backslash (\) is a typographical mark (glyph) used mainly in computing and is themirror image of the common slash (/). It is sometimes called a hackwhackescape(from C/UNIX), reverse slashsloshbackslantdownhillbackwhack, and in rare occasions, bashreverse slant, and reversed virgule.[1][2] In Unicode, it is encoded at U+005C \ reverse solidus (HTML \).

Contents[change | change source]

 [hide] 

  • 1 History
  • 2 Usage
  • 3 References
  • 4 External links

History[edit][change | change source]

Bob Bemer introduced the "\" character into ASCII[3] on September 18, 1961,[4] as the result of character frequency studies. In particular the \ was introduced so that theALGOL boolean operators  (AND) and  (OR) could be composed in ASCII as "/\" and "\/" respectively.[4][5] Both these operators were included in early versions of theC programming language supplied with Unix V6, Unix V7 and more currently BSD 2.11.

Usage[edit][change | change source]

In many programming languages such as C, Perl, and PHP and in Unix scripting languages, the backslash is an escape character, used to indicate that the character following it should be treated specially (if it would otherwise be treated normally), or normally (if it would otherwise be treated specially). For instance inside a C quotedstring the sequence \n produces a newline byte instead of an 'n', and the sequence\" produces an actual double quote rather than the special meaning of the double quote ending the string. In various regular expression languages it is used this way, changing subsequent literal characters into metacharacters and vice versa. Following this usage, the double backslash sequence \\ of course produces a normal literal backslash.

Outside of strings the only common use in languages is at the end of a line to indicate that the trailing newline character should be ignored, so that the following line is treated as if it were part of the current line. In this context it may be called a "continuation".[6]

The backslash is used in the TeX typesetting system and in RTF files to begin markup tags. In Haskell, the backslash is used both to introduce special characters and to introduce lambda functions (since it is a reasonable approximation in ASCII of the Greek letter lambda, λ).[7]

MS-DOS 2.0, released 1983, copied the hierarchical file system from Unix and thus used the (forward) slash, but (possibly on the insistence of IBM) added the backslash to allow paths to be typed at the command line interpreter's prompt while retaining compatibility with MS-DOS 1.0 and CP/M where the slash was the command-line option indicator (typing "DIR/W" gave the "wide" option to the "DIR" command, so some other method was needed if you actually wanted to run a program called W inside a directory called DIR).[8] Except for COMMAND.COM, all other parts of the operating system accept both characters in a path, but the Microsoft convention remains to use a backslash, and APIs that return paths use backslashes.[9] This holds true for MS-DOS and PC DOS, but also all other DOS operating systems like DR-DOS, PTS-DOS,RxDOS or FreeDOS as well as to Concurrent DOS, Multiuser DOS, FlexOS, 4680 OS,4690 OS, OS/2 and Windows. In some versions of DOS, the option character can be changed from / to - via SWITCHAR, which allows COMMAND.COM to preserve /in the command name.

The Microsoft Windows family of operating systems inherited the MS-DOS behavior and so still support either character - but individual Windows programs and sub-systems may, wrongly, only accept the backslash as a path delimiter, or may misinterpret a forward slash if it is used as such. Some programs will only accept forward slashes if the path is placed in double-quotes.[10] The failure of Microsoft's security features to recognize unexpected-direction slashes in local and Internet paths, while other parts of the operating system still act upon them, has led to some serious lapses in security. Resources that should not be available have been accessed with paths using particular mixes, such ashttp://example.net/secure\private.aspx.[11][12]

In the Japanese encodings ISO 646 (a 7-bit code based on ASCII), JIS X 0201 (an 8-bit code), and Shift JIS (a multi-byte encoding which is 8-bit for ASCII), the code point0x5C that would be used for backslash in ASCII is instead rendered as a yen mark (¥), while in Korean encoding, it is drawn as a won currency symbol (₩). Computer programs still treat the code as a backslash in these environments, causing confusion, especially in MS-DOS filenames.[13] Due to extensive use of the backslash code point to represent the yen mark, even today some Unicode fonts like MS Mincho render the backslash character as a ¥, so the Unicode characters 00A5 (¥) and 005C (\) look identical when these fonts are selected. Several other ISO 646 versions also replace backslash with characters like Ö (German, Swedish), Ø (Danish, Norwegian), ç (French) and Ñ (Spanish), leading to similar problems. Since the character was originally not available in all character sets and keyboard layouts, ANSI C can transcribe it in form of the trigraph ??/ which, outside string literals, is equivalent to the \ character. RFC 1345 recommends to transcribe the character as digraph //, if not available.[14]

In mathematics, a backslash-like symbol is used for the set difference.[15]

In some dialects of the BASIC programming language, the backslash is used as an operator symbol to indicate integerdivision.[16]

In MATLAB and GNU Octave the backslash is used for left matrix divide, while the slash is for right matrix divide.[17]

In PHP version 5.3 and higher, the backslash is used to indicate a namespace.[18]

In USFM, the backslash is used to mark format features for editing Bible translations.

In the Iraqw language, the backslash is used for the voiced pharyngeal fricative.

References[edit][change | change source]

  1. Jump up^ Macquarie Dictionary (3rd edition)
  2. Jump up^ Raymond, Eric S. "ASCII".
  3. Jump up^ "Mini-Biography of Bob Bemer". Thocp.net. Retrieved2013-06-16.
  4. ^ Jump up to:a b "How ASCII Got Its Backslash", Bob Bemer
  5. Jump up^ Bob Bemer (2002-07-07). "The Great Curly Brace Trace Chase". Computer History Vignettes. Bob Bemer. Retrieved 2009-10-11.
  6. Jump up^ "GNU 'make' manual". Gnu.org. Retrieved 2013-06-16.
  7. Jump up^ O'Sullivan, Stewart, and Goerzen, Real World Haskell, ch. 4: anonymous (lambda) functions, p.99
  8. Jump up^ "Why is the DOS path character "\"?". Blogs.msdn.com. 2005-06-24. Retrieved 2013-06-16.
  9. Jump up^ "Path.GetFullPath Method". .NET Framework Class Library. Microsoft. Archived from the original on 21 December 2008. Retrieved 2009-01-02.
  10. Jump up^ "When did Windows start accepting forward slash as a path separator?". Bytes.com. Archived from the original on 6 February 2009. Retrieved 2009-01-02.
  11. Jump up^ Kaplan, Simone (2004). "Microsoft Probes Flaw in ASP.NET". DevSource, sponsored by Microsoft. Ziff Davis Enterprise Holdings Inc. Retrieved 2009-06-14.
  12. Jump up^ Burnett, Mark (2004). "Security Holes That Run Deep". SecurityFocus. Retrieved 2009-06-14.
  13. Jump up^ "When is a backslash not a backslash?". Blogs.msdn.com. Retrieved 2013-06-16.
  14. Jump up^ "RFC 1345". Tools.ietf.org. 1991-12-26. Retrieved2013-06-16.
  15. Jump up^ "Quantities and units -- Part 2: Mathematical signs and symbols to be used in the natural sciences and technology". ISO 80000-2:2009. International Organization for Standardization.
  16. Jump up^ "Arithmetic Operators in Visual Basic". Visual Basic Language Features: Operators and Expressions. MSDN. Retrieved 7 October 2012.
  17. Jump up^ Eaton, John W.; David Bateman; Søren Hauberg (February 2011). "GNU Octave: A high-level interactive language for numerical computations". Free Software Foundation. p. 145. Retrieved 7 October 2012.
  18. Jump up^ "Namespaces overview".

External links[edit][change | change source]

  • Bob Bemer. "How ASCII got its backslash". Archived from the original on 2013-07-19.
  • Backslash Definition by The Linux Information Project (LINFO)

Categories: 

  • Punctuation
  • Typographical symbols

Navigation menu[change | change source]

  • Create account
  • Log in
  • Article
  • Talk
  • Read
  • Edit
  • View history
  • Main page
  • Contents
  • Featured content
  • Current events
  • Random article
  • Donate to Wikipedia
  • Wikimedia Shop

Interaction[change | change source]

  • Help
  • About Wikipedia
  • Community portal
  • Recent changes
  • Contact page

Tools[change | change source]

  • What links here
  • Related changes
  • Upload file
  • Special pages
  • Permanent link
  • Page information
  • Wikidata item
  • Cite this page

Print/export[change | change source]

  • Create a book
  • Download as PDF
  • Printable version

Languages[change | change source]

  • Català
  • Dansk
  • Deutsch
  • Español
  • Esperanto
  • Euskara
  • فارسی
  • Français
  • Gaeilge
  • Galego
  • Хальмг
  • 한국어
  • Italiano
  • עברית
  • Lietuvių
  • Magyar
  • Nederlands
  • 日本語
  • Norsk bokmål
  • Polski
  • Português
  • Русский
  • Simple English
  • Slovenščina
  • Suomi
  • Svenska
  • Türkçe
  • Українська
  • 中文

Edit links

  • This page was last modified on 7 February 2015, at 21:08.
  • Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use andPrivacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

Related pages[change | change source]