덤프버전이 더 최근에 편집되었을 수 있습니다. > 덤프판 보기
\
최근 편집일시 : (♥ 1)
분류
, 엔화 기호인 ¥에 대한 내용은 ¥ 문서
참고하십시오.1. 개요[편집]
백슬래시(backslash, U+005C). 슬래시(slash, /)를 반대로 한 기호다. 1961년에 밥 베머(Bob Bemer)가 아스키 코드를 만들면서 추가한 문자다. 역슬래시라고도 불린다.
2. 용도[편집]
2.1. 프로그래밍[편집]
프로그래밍 언어에서 이스케이프 문자를 나타낼 때 주로 쓰인다. 예를 들어서 \\n은 많은 프로그래밍 언어에서 줄 바꿈을 의미한다.
Microsoft Windows에서는 경로명의 디렉터리와 파일 이름을 구분하는 데 쓰인다(예) C:\\Users\\NamuWiki\\Documents\\merong.txt)
다만 이는 윈도우만의 이야기로, 유닉스와 여기서 파생된 macOS, Linux에서는 이 용도로 슬래시(/)를 쓴다. 본래 Mac OS에서는 /가 아닌 :를 썼었는데, UNIX 기반의 NeXTSTEP을 기반으로 한 Mac OS X으로 넘어오면서 /로 바꿨다. 다만 호환성을 위해 Windows에서도 디렉터리 구분에 슬래시(/) 사용을 지원하기는 한다. 또한, 인터넷의 경우에는 서버 운영체제와 관계 없이 무조건 슬래시(/)만을 사용한다. 당장 나무위키의 본 문서 주소
namu.wiki/w/%5C
만 봐도 {{namu.wiki}}}의 w
의 %5C
라는걸 인식하기 위해 2차례 /
를 사용했다.PHP에서는 \\를 특수 문법으로 취급한다. \\ 뒷부분에 오는 문자를 일반 텍스트로 인식시키는 기능인데, \\와 같은 문자가 프로그래밍적인 기능을 하지 않고 일반 텍스트로 취급시키기 위하여 주로 사용한다. 일례로, C언어에서
\n
은 HTML에서의 <br>
과 같은 개행으로 사용되는데, 이를 \\n
으로 작성하면 \\n으로 출력되게 된다.달리 말하면 문법 해제 기호. 5.3 이후부터는 이름공간(Namespace)의 하위 요소를 나타내는 구분자로 사용한다. 나무위키에서도 \\ 문법이 먹힌다. \\라고 편집창에 입력하면 쓰이지 않고 \\\\으로 2번 써야 \\가 나온다.
- 예) 나무위키 편집창에
[[\]]
라고 입력하면[[]]
와 같은 형태로 바뀌는 것을 알 수 있다. 이는 세 번째]
가 일반 텍스트로 인식되었기 때문이다. 이러한 방법으로 일부 특수 문서들을 링크걸 수 있다. 예를 들면 [E\]가 있다. 텍스트로 보여 주자면[[[E\]]]
와 같은 형태이다. 이외에[include(틀:틀이름, comma=\,)]
처럼 하여 ,가 변수명을 구분하는 데 쓰이지 않고 변수의 일부로 포함되게끔 할 수 있다.
2.2. LaTeX에서[편집]
LaTeX에서 가장 핵심적으로 쓰이는 기호이다. 수학 스크립트를 작성할 때 소괄호와 붙여서 사용하고, 각종 문법은 대부분 명령어 앞에 백슬래시를 붙인 형태로 작동한다.
2.3. 나무위키에서[편집]
include 등의 문법을 사용할 때 ','(쉼표)나 '#' 등을 사용하면 정상적으로 작동하지 않는 단어가 있다. 그럴 때 앞에 백슬래시를 붙여두면 제대로 작동한다. 문법 무효화 기능도 있는데, 같은 기능을 가지면서도 한 번에 여러 글자에 적용할 수 있는 \
문법과 달리 \\ 문법은 한 번에 한 글자에만 적용할 수 있다. 그러나 특수 문자를 포함한 문서명으로 링크를 걸거나 include 문법 중 인수의 내용에 ,를 사용하고자 할 때는 역슬래시가 필수여서 실질적으로는 \\ 문법의 사용례가 더 흔하다. 자세한 내용은 나무위키:문법 도움말 문서의 문법 무효화 문단 참고.2.4. 기타[편집]
수학에서는 차집합을 나타내는 기호로 -를 대신해서 쓰기도 한다.
키보드에서 ─자형 엔터 키를 채용하는 경우 대부분 1.5칸 정도의 크기가 된다. ┘자형 엔터 키를 사용하는 키보드의 경우에는 일반 키(QWER, ASDF 등)와 비슷한 크기가 되는데, 백스페이스까지 같은 크기로 줄어들기 때문에 ─자형을 선호하는 사람들도 있다.
이모티콘이나 아스키 아트에서도 자주 쓰인다. 그 예중 하나가 \\(^o^)/.
Discord에서도 메시지를 작성하면서 이모티콘 또는 특수 문법 등을 적용하지 않게 할 때 \\를 쓴다.
3. 글꼴 표기 문제[편집]
3.1. Microsoft Windows[편집]
마이크로소프트의 기본 한국어 글꼴[1] 과 기본 일본어 글꼴[2] 은 백슬래시를 각각 원화 기호()와 엔화 기호(¥)로 그려 놓는데, 이걸 싫어하는 사람들이 많다. 이유는 국제적인 소통에 혼동을 일으키기 십상이기 때문. 이 관행을 따를 경우, 천원을 나타내기 위해 '\\1000'이라고 써 놓으면 읽는 사람의 국적에 따라 1000으로도 ¥1000으로도 보일 수 있어서 1000원인지 1000엔인지 알 수 없으며, 한국인도 일본인도 아닌 영어 사용자들은 숫자 앞에 백슬래시를 적은 정체불명의 기행으로 보일 수밖에 없다.[3]
특히 프로그래머들은 이러한 현상을 매우 싫어한다. 사실 이 문자는 프로그래밍이 아니면 쓰일 일이 거의 없는데, 프로그래머 입장에서는 불필요한 혼동만 유발하니 싫어할 수밖에 없다. 그래서인지 이쪽에 쓰이는 코딩용 글꼴은 반드시 백슬래시로 렌더링되도록 하는 불문율이 있다.
유니코드에는 \\(U+005C), (U+20A9), ¥(U+00A5)가 엄연히 따로 존재하고, \\를 백슬래시라는 용도 외에 다른 용도로 사용할 수 있다고 정의되어 있지도 않다. 이 백슬래시 혼란을 일으킨 장본인은 일본의 JIS 코드인데, 1969년에 제정된 8비트짜리 JIS X 0201의 표준 ASCII 부분에서 백슬래시를 엔화 기호로 바꿔놓았고 물결표(~)를 오버라인()으로 바꿔 놓았다. 한국 역시 1998년에 KS X 1003이라는 로마자 집합을 제정할 때 JIS X 0201과 비슷하게 백슬래시를 원화 기호로 바꿔놓았다.
이는 일반인의 입장에서 잘 쓰이지 않는 백슬래시 대신 상대적으로 많이 쓰이는 화폐 기호를 키보드로 쉽게 입력하기 위한 면이 크다. 당연히 이 첫 단추를 잘못 꿴 시점이 유니코드 개발보다 앞섰기 때문에 이게 고착된 것. 거기다 반각 문자인 (U+20A9), ¥(U+00A5)는 EUC-KR, Shift_JIS 인코딩에 포함되어 있지도 않다.[4] 다만 HTML의 경우 해당 기호가 들어갈 자리에 은
₩
, ¥은 ¥
(또는 ¥
)이라고 적으면 된다.혼동을 방지하기 위해 화폐 단위를 쓸 때 백슬래시 대신 반각 원화 기호 (U+20A9) 또는 전각 원화 기호 ₩(U+FFE6)[A] , 반각 엔화 기호 ¥(U+00A5) 또는 전각 엔화 기호 ¥(U+FFE5)[A] 를 쓰는 것이 좋다. 만약 특수문자 자체를 입력하기 어려운 상황이라면 KRW나 JPY와 같이 영문 이니셜로 적는 것도 좋다.
맑은 고딕 같은 몇몇 글꼴들은 혼동을 줄이기 위해 백슬래시로 쓰인 경우에는 가로줄을 한 개만 긋고, 실제 원화 기호로 쓰인 경우에는 가로줄을 두 개를 긋는다.
3.2. 다른 운영 체제[편집]
윈도우를 제외한 macOS, 리눅스, iOS, 안드로이드 등의 운영체제에서는 무조건 '\\'로 표시한다. 맥북에는 애초에 \\와 둘다 표시되어있다. 이 때문에 화폐 단위로 백슬래시를 사용하는 웹사이트들이 점차 사라지는 추세이다. 물론 아직까지도 가격 표기를 백슬래시로 하는 사이트들은 윈도우 외의 환경에서 보면 이나 ¥이 나올 자리에 \\가 대신 나오기 때문에 헷갈리는 경우가 있다.
3.3. 원화 표시 유래[편집]
우리나라에서 0x5c에 원화기호를 할당한 것은 일본을 따라한 것이다. (KS X 1003) 그런데, 사실 요즘 많이 쓰고 있는 EUC-KR과 CP949는 둘 다 공식적으로는 KS Roman이 아니라 US-ASCII를 할당했기 때문에 0x5c가 원화가 아니라, 역슬래시로 나와야했었다. 물론, 윈도우나 오픈소스라이브러리들에서도 0x5c를 원화로 취급하지는 않는데 그런데도 원화로 보이는 것은 윈도우에 번들된 글꼴의 버그이기 때문이다. 유니코드 매핑을 기반으로 한 글꼴에서 U+005C에 원화기호 마크를 그리는 것은 당연히 오류인데도 MS는 하위호환성 때문에 어쩔 수 없이 고치지 않고 있는 듯 하다.
그리고 한국에서 원화기호를 넣게 된 직접적인 이유인 일본의 엔화 기호는 일본에서 멀티바이트 인코딩이 없던 시절까지 거슬러 올라가면 기원을 찾을 수 있다. 일본의 JIS Roman은 KS Roman과 같이 0x5c를 원화/엔화기호로 바꾼 것 외에도 0x7e를 틸드(~)가 아니라 오버라인( ̄)을 할당한 것이 특징이고, JIS X 0201은 0xa1과 0xdf사이에 반각 카타카나를 배치해서, 멀티바이트 인코딩이 제대로 지원되기 힘들었던 1970년대부터 자국어 처리를 1바이트로 처리하고 있었다. 엔화기호를 2바이트 영역이 아니라 1바이트 영역에 굳이 비집어 넣은 것은 이 이유이고, 사실상 일본에서도 JIS Roman(JIS X 0201-1)은 거의 대부분의 사람들이 싫어하거나 매우 혼동한다. CJKCodecs에서도 처음에는 JIS X 0201을 엄격히 규격에 맞게 처리했다가 일본어 프로그램들에서 엄청난 호환성 문제가 많이 발생해서, 결국은 비표준으로 US-ASCII로 매핑했었다고 한다. #출처
역슬래시 기호의 공식적인 유니코드 이름은 REVERSE SOLIDUS이다.
4. 기타[편집]
나무위키를 비롯한 몇몇 웹사이트들은 환경에 상관 없이 백슬래시를 '\'로 보이게 하기 위해 영문 글꼴을 최상위로 지정해둔다. 윈도우 XP에서는 Tahoma나 Arial을, 윈도우 비스타 이상에서는 Segoe UI를 최상위에 두면 된다.
한/글 97의 경우에도 자체적인 글꼴을 사용해서 화면을 표시하기 때문에 백슬래시가 온전하게 나온다. 시스템 글꼴을 기본으로 사용하는 2002 이상 버전이라도 한/글 전용 글꼴(HFT)을 사용하면 백슬래시가 온전하게 나오며, 2010부터 추가된 함초롬체도 백슬래시가 온전하게 나온다.
U+FF3C에 전각 백슬래시(\)가 있고 이는 글꼴에 따라 모양이 바뀌는 문제는 없으나, 프로그래밍 언어에서도 사용할 수 없고, MS 윈도의 디렉터리 구분자로도 사용할 수 없는 그냥 일반 문자일 뿐이다. 즉, 백슬래시 모양을 표시해야 하는 상황이면 이걸, 프로그래밍을 할 때는 \\를 쓰자.
Shift_JIS 인코딩에서는 위의 글꼴 문제 이외에 다른 문제가 존재하는데, 이 백슬래시 문자(0x5C)를 MBCS 영역에 집어넣은 것이다. 이것 때문에 일본어 윈도우에서 압축한 ZIP 파일을 외국 윈도우에서 열면 이 백슬래시 문제 때문에 압축을 풀지 못하는 경우가 많다. 글꼴 문제는 단순히 글꼴을 바꾸기만 하면 해결되지만, 이건 Shift_JIS 인코딩 자체가 워낙 기형적이어서 발생하는 문제인지라, 유니코드로 완전히 바뀌고 MBCS 인코딩 체제가 멸종하지 않는 이상 완전한 해결이 불가능하다. 이후 마이크로소프트에서 Windows-949라는 확장완성형 인코딩을 만들 때에는 백슬래시 문제가 발생하지 않도록 바이트 범위를 조정했다. 아무튼 ZIP 파일의 경우에는 인코딩 지정이 가능한 반디집을 사용하면 정상적으로 풀 수 있으며, 텍스트 파일의 경우에는 Notepad++라는 텍스트 편집기를 사용해서 인코딩을 지정해 주면 정상적으로 읽어낸다.
나무위키에서는 이 문서에서 아무 링크나 들어간 다음에 뒤로가기를 누르면 어째서인지 / 문서로 가졌다. 그리고 문서 제목은 '/'(%2F)인데 URL부분은 %5C('\\')로 되어있는 신기한 광경을 볼 수 있었다. 지금은 나무위키 기능 업데이트로 수정되었다.
이 문서의 내용 중 전체 또는 일부는 에 나무위키 , d=2024-08-20 21:37:07 문서에서 가져왔습니다.