1. 개요
유니코드로는 U+00A0이며 NO-BREAK SPACE, 줄여서 NBSP 라고 부른다. HTML 엔티티는
이다.일반적으로 사용되는 U+0020 SPACE( )와는 기능이 다르다. 영어 등의 서양 언어에서는 워드 랩을 적용할 때 space를 기준으로 하며, 따라서 space가 삽입된 위치에서 줄을 바꾼다. the quick brown fox를 예로 들자면 각 단어는 space로 구분돼 있으며, 워드 랩을 적용했을 때 the와 quick 사이, quick과 brown 사이, brown과 fox 사이에서 줄이 나뉠 수 있다.
반면 no-break space는 외관상으로는 space와 똑같이 보이지만, 이 위치에서는 줄이 나뉠 수 없음을 의미한다. quick과 brown 사이에 no-break space가 쓰인 the quick brown fox를 예로 들자면, 워드 랩 적용 시 the와 quick 사이, brown과 fox 사이에서는 줄이 나뉠 수 있지만 quick과 brown 사이에서는 줄이 나뉠 수 없다.
수의 천 단위 구분자로 공백을 사용하는 경우(예: 12 345 일만 이천삼백사십오), 이 NBSP를 사용하는 것이 권장된다. 일반 공백을 사용하면 12와 345 사이에서 줄이 나뉠 수 있고, 이러면 12와 345가 별개의 수로 잘못 인식될 수 있기 때문이다.
그리고 이 문자는 HTML에서도 유용하게 쓰인다. HTML은 소스에 space 문자를 연속으로 여러 번 써도 출력 결과는 그냥 space를 하나 쓴 것과 차이가 없다. 공백 문자를 연속으로 여러 개 삽입하고 싶을 경우 no-break space를 써 주면 정상적으로 출력된다. 물론 이 방법은 HTML에서도 비추천하는 방법으로, 넓은 공백이 필요할 경우에는 HTML 태그에 CSS의 margin이나 padding을 이용하여 간격을 정해주는 것이 정석이다.
2. 입력법
일반공백을 복사한 건지 꼭 확인하고 쓸 것. 나무위키는 반달 방지를 위해서인지 NBSP구현이 차단되었다.- 웹브라우저의 콘솔을 열고(대부분의 브라우저 단축키는 F12) 아래 명령을 입력한다. 해당하는 문자를 복사한다는 명령이다.
copy("\u00A0") - ALT 키를 누르고 넘버패드 0, 0, A, 0을 차례대로 누른다.
- http://www.unicode-symbol.com/u/00A0.html 사이트에 들어가서 복사하고 입력한다.
- Microsoft Word에서는 Ctrl+Shift+Space로 입력할 수 있다. 그런데 이렇게 입력된 NBSP를 복사해서 메모장 등에 붙여 넣으면 일반 space로 변한다.
- DOS 시절 아래아 한글 2.x에도 '묶음빈칸'이라는 이름으로 같은 기능이 존재했다. 띄어쓰기 앞뒤의 두 단어를 마치 한 단어로 묶인 것처럼 취급한다는 뜻. 이 기능은 현재 한컴오피스 한글에서도 Ctrl+Alt+Space로 사용할 수 있다.
3. 예시
Microsoft Word에서 The Quick Brown Fox Jumps Over The Lazy Dog 사이에 모두 NBSP를 적용하면 다음과 같다.NBSP 적용 전엔 이러했다:
결론적으로 영어에선 NBSP가 적용되고 한글에서는 NBSP가 적용이 안 된다.
이는 단어별로 줄을 나누는 로마자와 달리, 한글은 원래부터 글자별로 줄을 나누었기 때문에 당연한 결과이다.
웹 문서에서는 CSS로 "word-break: keep-all;" 속성을 주면, 영어뿐만 아니라 한글에서도 NBSP를 적용할 수 있다.