백슬래시

Backslash
\
백슬래시
유니코드U+005C \ 리버스 솔리더스(\)
관련된
「 」를 참조해 주세요.U+29F5 역솔리더스 연산자

U+29F9 빅 리버스 솔리더스

U+FF3C 전폭 역솔리더스

백슬래시 \는 주로 컴퓨터 및 수학에서 사용되는 인쇄 기호입니다.일반적인 슬래시 /미러 이미지입니다.그것은 1930년대에 처음 기록된 비교적 최근의 표시이다.

역사

1930년대 Teletype Wheatstone 천공기 키보드(세 번째 줄 끝에 백슬래시가 있음)
1966년 6월 14일 이전에 ASCII 문자 세트를 사용한 텔레타이프 ASR-33 키보드 레이아웃(시프트 시 백슬래시+)l

2021년 11월 현재, 1960년대 이전에 이 문자의 기원이나 목적을 규명하려는 노력은 성공하지 못했다.지금까지 발견된 가장 오래된 참조 자료는 1937년 Teletype Corporation의 유지보수 매뉴얼로, 위트스톤 [1][2]시스템을 사용하는 클라인슈미트 키보드 천공기 WPE-3의 키보드가 표시된 사진을 첨부했습니다.이 기호는 "대각 키"[3]라고 불리며, (비표준) Morse 코드인 "대각 키"[4]가 지정되었습니다. (이것은 슬래시 기호를 거꾸로 입력하기 위한 코드입니다.)

1960년 6월 IBM은 0x19에 [2]기호를 포함하는 "확장 문자 집합 표준"을 발표했습니다.1961년 9월, 베머(IBM)는 X3.2 표준 위원회에 다음과 같이 제안했다.[,]그리고.\백슬래시를 "역분할 운영자"로 기술하고 전기통신에서 텔레타입이 이전에 사용한 것을 인용하여 제안된 표준의 일부로 만든다.특히, 그는 ALGOL 부울 연산자가 필요했다고 말했다. (논리 접속사) 및(논리적인 분리)는 /\\/를 사용하여 각각 구성할 수 있습니다.위원회는 1961년 11월 [2]회의에서 이러한 변경 사항을 미국 표준 초안(이후 ASCII로 불림)으로 채택하였다.

이러한 연산자는 Unix V6[5] 및 V7과 [6]함께 제공된 초기 버전의 C 프로그래밍 언어에서 최소값과 최대값으로 사용되었습니다.

Teletype Model 33(1963)은 일부 시장에서 판매되는 표준 키톱의 특징을 가진 최초의 시판 유닛으로 보입니다.이 모델에는 완전한 ASCII 문자 세트가 포함되어 있습니다.

사용.

프로그래밍 언어

C, Perl, PHP, Python, Unix 스크립팅 언어 및 JSON같은 많은 파일 형식에서 백슬래시는 이스케이프 문자로 사용되며, 이는 백슬래시를 따르는 문자가 특별히 취급되어야 한다는 것을 나타냅니다(그렇지 않으면 특별히 취급되어야 할 경우).예를 들어, C 문자열 내부에서는 시퀀스를 리터럴합니다.\nn 대신 줄바꿈 바이트를 생성하고 시퀀스는\"는 문자열을 끝내는 큰따옴표의 특별한 의미가 아닌 실제 큰따옴표를 생성합니다.실제 백슬래시는 이중 백슬래시에 의해 생성됩니다.\\.

정규 표현 언어에서도 동일한 방식으로 사용되었으며 후속 리터럴 문자를 메타 문자로 변경하거나 그 반대로 변경했습니다.예를 들어 \b는 ' 또는 'b' 중 하나를 검색하고 첫 번째 막대는 이스케이프 및 검색하며 두 번째 막대는 이스케이프되지 않고 "or"로 작동합니다.

따옴표로 묶인 문자열 이외에는 백슬래시의 유일한 일반적인 용도는 그 직후에 새로운 행을 무시(에스케이프)하는 것입니다.이 문맥에서는 현재 행이 다음 행으로 계속되기 때문에 "연속 행"[7]이라고 할 수 있습니다.일부 소프트웨어는 백슬래시+뉴라인을 [8]공백으로 바꿉니다.

백슬래시 문자(C Trigraph)가 없는 시스템을 지원하려면 ??/백슬래시와 같은 값이 추가되었습니다.다음 캐릭터가 빠져나갈 수 있기 때문에, 그 자체가 다음 캐릭터가 될 수도 있습니다.?, 현대의 주된 용도는 코드 난독화에 있습니다.C++17에서는 삼각자 지원이 삭제되었습니다.

Visual Basic(및 기타 BASIC 방언)에서는 백슬래시가 정수 [9]나눗셈을 나타내는 연산자 기호로 사용됩니다.이 라운드는 0이 됩니다.

ALGOL 68 프로그래밍 언어는 "\"을 십진수 지수 기호로 사용합니다.ALGOL 68에는 4개의 소수점 지수 기호(e, E, 또는 )가 있습니다.예: 6.0221415e23, 6.0221415E23, 6.0221415\23 또는 6.02214152310.[10]

APL에서 \는 채우기 요소를 배열에 삽입하기 위해 사용되는 경우 Expand(확장)라고 하며 접두사 감소(누적 폴드)를 생성하기 위해 사용되는 경우 Scan(스캔)이라고 합니다.

PHP 버전 5.3 이상에서는 이름 [11]공간을 나타내기 위해 백슬래시가 사용됩니다.

Haskell에서 백슬래시는 특수 문자의 도입과 람다 함수의 도입에 모두 사용됩니다(그리스어 문자 람다([12]lambda)의 ASCII에서 합당한 근사치이므로).

파일명

1983년에 출시된 MS-DOS 2.0은 유닉스로부터 계층형 파일 시스템을 복사하여 디렉토리 [13]구분자로 슬래시를 사용했습니다.IBM의 [14]주장에 따라 Microsoft는 명령줄 인터프리터 프롬프트에서 경로를 입력할 수 있도록 백슬래시를 추가했으며 MS-DOS 1.0(/는 명령줄 옵션 표시기)과의 호환성을 유지했습니다."DIR/W"를 입력하면 "DIR" 명령어에 "wide" 옵션이 제공되므로 실제로 DIR이라는 디렉토리 내에서 W라는 프로그램을 실행하려면 다른 방법이 필요했습니다.COMMAND는 제외합니다.COM, 운영 체제의 다른 모든 부분은 경로 내의 두 문자를 모두 허용하지만 Microsoft 규약은 백슬래시를 사용하도록 남아 있으며 경로반환하는 API는 백슬래시를 [15]사용합니다.일부 버전에서는 SWITCHAR을 통해 옵션 문자를 /에서 -로 변경할 수 있으며, 이를 통해 COMMAND를 사용할 수 있습니다.명령어 이름으로 보존하는 COM.

Microsoft Windows 패밀리의 operating system은 MS-DOS 의 동작을 계승하고 있기 때문에, 어느 쪽의 문자도 서포트하고 있습니다.단, 개개의 Windows 프로그램이나 서브 시스템은, 백슬래시를 패스 딜리미터로서만 잘못 받아들이거나, 슬래시를 잘못 해석하는 경우가 있습니다.일부 프로그램에서는 경로를 큰따옴표[16]묶은 경우에만 슬래시를 허용합니다.Microsoft의 보안 기능이 로컬 및 인터넷 경로에서 예기치 않은 방향의 슬래시를 인식하지 못하면서 운영체제의 다른 부분이 아직 동작하고 있기 때문에 보안에 심각한 문제가 발생하고 있습니다.사용할 수 없는 리소스는 http://example.net/secure\private.[17][18]aspx와 같은 특정 혼합을 사용하여 경로를 사용하여 액세스되었습니다.

텍스트 마크업

백슬래시는 TeX 조판 시스템과 RTF 파일에서 마크업태그를 시작하기 위해 사용됩니다.

USFM에서 [19]백슬래시는 성경 번역 편집을 위한 형식 기능을 표시하기 위해 사용됩니다.

캐럿 표기법에서는^\는 컨트롤 문자 0x1C, 파일 [20]구분자를 나타냅니다.이것은 완전히 우연의 일치이며 파일 경로에서의 사용과는 관계가 없습니다.

수학

설정 [21]차이에 백슬래시와 같은 기호가 사용됩니다.

백슬래시는 오른쪽 코셋공간[22]나타내기 위해서도 사용됩니다.

특히 컴퓨터 알고리즘을 기술할 때는 a\b "a/[citation needed]b"에 상당하도록 백슬래시를 정의하는 것이 일반적입니다.이것은 반올림하는 정수 나눗셈이지 0이 아닙니다.Wolfram Mathematica에서는 백슬래시가 정수 [23]나눗셈에 사용됩니다.

MATLAB GNU 옥타브에서는 백슬래시가 왼쪽 행렬 분할에 사용되는 반면 (앞으로) 슬래시는 오른쪽 행렬 [24]분할에 사용됩니다.

and 및 기타 문자와의 혼동

일본어 인코딩 ISO 646-JP(ASCII 기반 7비트 코드), JIS X 0201(8비트 코드), Shift JIS(ASCII용 8비트 인코딩)에서는 ASCII 백슬래시에 사용되는 코드 포인트 0x5C가 엔 기호로 대신 표시됩니다.005C 코드 포인트는 엔 부호를 나타내기 위해 널리 사용되고 있기 때문에 MS Mincho 등의 일부 글꼴은 백슬래시 문자를 ,로 렌더링하기 때문에 유니코드 코드 포인트 00A5()) 및 005C(\)의 문자는 모두 when로 렌더링됩니다.컴퓨터 프로그램은 이러한 환경에서 005C를 백슬래시로 취급하지만 엔 기호로 표시하여 특히 MS-DOS 파일 [25]이름에서 혼란을 일으킵니다.

iso(한국어), ((독일어, 스웨덴어), ø(덴마크어, 노르웨이어), )(프랑스어), ((스페인어) 등 몇몇 다른 ISO 646 버전도 백슬래시를 다른 문자로 대체하고 있지만 엔화 기호에 비해 영향이 적다.

1991년에 RFC 1345는 다음을 제안했다.//는 인터넷 표준에서 "[이] 코드화된 문자 집합과 [이][26] 코드화된 문자 집합의 코드를 참조하지 않고 [이] 문자를 식별하는 실용적인 방법"으로 사용될 수 있는 고유한 2자 니모닉으로 사용됩니다.따라서 이 스타일은 초기 Internet Engineering Task Force 문서에서 확인할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Bulletin 125, issue 2: Description and Adjustments of the Teletype Wheatstone Perforator (PDF). Teletype Corporation. May 1938 [August 1937]. p. ii – via navy-radio.com.
  2. ^ a b c Fischer, Eric (20 June 2000). "The Evolution of Character Codes, 1874–1968". pp. 14 (Table 35), 15. CiteSeerX 10.1.1.96.678. (IEEE에 제출된 미공개 논문, 더 나은 소스 필요)
  3. ^ Bulletin 188: Teletype automatic perforator set (PDF). Teletype Corporation. August 1945 – via navy-radio.com.
  4. ^ Bulletin 1025, issue 3: Parts for Teletype Wheatstone Perforator (PDF). Teletype Corporation. July 1945 – via navy-radio.com.
  5. ^ "C compiler source". bitsavers.org. 1975.
  6. ^ "C compiler source". mit.edu. 1979.
  7. ^ "The C Preprocessor". gnu.org.
  8. ^ "3.1.1 Splitting long lines". GNU make manual. Retrieved July 28, 2019.
  9. ^ "Arithmetic Operators in Visual Basic". Visual Basic Language Features: Operators and Expressions. MSDN. Retrieved 7 October 2012.
  10. ^ "Revised Report on the Algorithmic Language Algol 68". Acta Informatica. 5 (1–3): 1–236. September 1973. doi:10.1007/BF00265077. S2CID 2490556.
  11. ^ "Namespaces overview". php.net.
  12. ^ Real World Haskell, O'Sullivan, Stewart 및 Goerzen, ch. 4: 익명(lambda) 함수, 페이지 99
  13. ^ "Why is the DOS path character "\"?". Blogs.msdn.com. 2005-06-24. Retrieved 2013-06-16.
  14. ^ Necasek, Michal (24 May 2019). "Why Does Windows Really Use Backslash as Path Separator?". OS/2 Museum. Archived from the original on 24 May 2019. Retrieved 28 May 2019.
  15. ^ "Path.GetFullPath Method". .NET Framework Class Library. Microsoft. Archived from the original on 21 December 2008. Retrieved 2009-01-02.
  16. ^ "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.
  17. ^ Kaplan, Simone (2004). "Microsoft Probes Flaw in ASP.NET". DevSource, sponsored by Microsoft. Ziff Davis Enterprise Holdings Inc. Archived from the original on 2013-01-21. Retrieved 2009-06-14.
  18. ^ Burnett, Mark (2004). "Security Holes That Run Deep". SecurityFocus. Retrieved 2009-06-14.
  19. ^ "USFM – Unified Standard Format Markers". paratext.org. 18 April 2017.
  20. ^ "C0 control characters set, 1987". pd.infn.it.
  21. ^ "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.
  22. ^ "Definition:Coset Space". ProofWiki. Retrieved 1 February 2017.
  23. ^ "Integer Division". mathworld.wolfram.com.
  24. ^ Eaton, John W.; David Bateman; Søren Hauberg (February 2011). "GNU Octave: A high-level interactive language for numerical computations" (PDF). Free Software Foundation. p. 145. Retrieved 7 October 2012.
  25. ^ "When is a backslash not a backslash?". Blogs.msdn.com. Retrieved 2013-06-16.
  26. ^ Simonsen, Keld (1991-12-26). "RFC 1345". Tools.ietf.org. Retrieved 2013-06-16.

외부 링크