유니코드에는 다양한 종류의 공백 문자(Whitespace Characters)가 있으며, 각각 용도와 폭(width)이 다릅니다.
1. 일반적인 공백 문자
- U+0020 ( ): 일반적인 스페이스(space) 키로 입력되는 공백.
- U+00A0 ( ): Non-breaking space. 줄 바꿈이 되지 않는 공백(HTML에서
). - U+200B (): Zero-width space. 폭이 없는 공백(줄 바꿈 가능 위치 표시).
2. 다양한 폭의 공백 문자
- U+2000 ( ): En Quad (전각 폭의 절반 정도).
- U+2001 ( ): Em Quad (전각 폭과 동일).
- U+2002 ( ): En Space (전각의 절반 폭).
- U+2003 ( ): Em Space (전각 폭).
- U+2004 ( ): Three-per-em Space (전각의 1/3 폭).
- U+2005 ( ): Four-per-em Space (전각의 1/4 폭).
- U+2006 ( ): Six-per-em Space (전각의 1/6 폭).
- U+2007 ( ): Figure Space (숫자 폭과 동일).
- U+2008 ( ): Punctuation Space (구두점 폭과 동일).
- U+2009 ( ): Thin Space (얇은 공백, 전각의 1/5~1/6 폭).
- U+200A ( ): Hair Space (매우 얇은 공백).
3. 특수 용도의 공백 문자
- U+205F ( ): Medium Mathematical Space (수학 공식용).
- U+3000 ( ): 전각 공백(일본어/중국어에서 사용).
- U+FEFF (): Zero Width No-Break Space(BOM, Byte Order Mark로도 사용).
이 중에서 U+0020(일반 공백), U+00A0(줄 바꿈 방지 공백), U+200B(너비 없는 공백) 등이 자주 사용됩니다.
✅ 가장 웹페이지 호환성이 좋은 안정적인 공백 특수문자 추천
U+0020
(일반 공백, Space)- 가장 기본적인 공백으로, 모든 브라우저와 시스템에서 100% 호환됩니다.
- 단점: 연속된 공백이 있을 경우 HTML에서는 기본적으로 하나로 합쳐집니다. (
를 사용해야 여러 개 표시 가능)
U+00A0
(Non-breaking Space,
)- HTML 엔티티:
- 줄 바꿈이 되지 않는 공백으로, 모든 브라우저에서 완벽하게 지원됩니다.
- 장점: 여러 개 입력해도 공백이 유지되며, 구형 브라우저에서도 문제없이 작동합니다.
- 단점: 너비가 고정적이어서 반응형 디자인에서 문제가 될 수 있습니다.
- HTML 엔티티:
U+2002
(En Space, 
)- HTML 엔티티:
 
- 전각(全角)의 절반 크기(
1em
의 0.5배)로, 비교적 안정적인 호환성을 가집니다. - 장점: 고정폭 글꼴이 아닌 경우에도 일정한 공백을 유지합니다.
- 단점: 매우 오래된 브라우저(IE6 이하)에서 폭이 정확하지 않을 수 있습니다.
- HTML 엔티티:
U+2003
(Em Space, 
)- HTML 엔티티:
 
- 전각(
1em
)과 동일한 크기로, 넓은 공백이 필요할 때 유용합니다. - 장점: 대부분의 현대 브라우저에서 잘 지원됩니다.
- 단점: IE8 이하에서 일부 렌더링 문제가 있을 수 있습니다.
- HTML 엔티티:
4. 넓이가 0 없는 공백 문자
이름 | 유니코드 | 설명 | 표시 여부 |
---|---|---|---|
Zero Width Space (ZWSP) | U+200B | 가장 널리 사용됨, 글자 사이 삽입 가능 | ❌ 안 보임 |
Zero Width Non-Joiner (ZWNJ) | U+200C | 연결을 방지함 (아랍어 등) | ❌ 안 보임 |
Zero Width Joiner (ZWJ) | U+200D | 글자 연결 유도 (이모지 조합 등) | ❌ 안 보임 |
Zero Width No-Break Space | U+FEFF | 이전에는 BOM으로도 사용됨 | ❌ 안 보임 |
Word Joiner | U+2060 | 줄바꿈 방지용 특수 공백 | ❌ 안 보임 |
Invisible Separator | U+2063 | 간격 없이 구분자 역할 | ❌ 안 보임 |
Mongolian Vowel Separator | U+180E | 특수 문자지만 현재는 deprecated | ❌ 안 보임 |
Hair Space | U+200A | 매우 얇은 공백 (눈에 거의 안 보임) | 거의 ❌ |
Narrow No-Break Space | U+202F | 얇고 줄바꿈 없음 | 거의 ❌ |
📌 최종 권장 사항
- 가장 안전한 선택:
(U+00A0)- 모든 브라우저에서 안정적이며, 여러 공백을 표현할 때 가장 호환성이 좋습니다.
- 반응형 디자인을 고려할 때: 일반 공백(
U+0020
) + CSSwhite-space: pre-wrap;
- CSS를 사용하면 여러 공백을 자연스럽게 유지할 수 있습니다.
- 특정 폭의 공백이 필요할 때:
 
(U+2002) 또는 
(U+2003)- 현대 브라우저에서는 문제없이 작동하지만, 구형 IE에서는 테스트가 필요합니다.
⚠️ 주의사항
U+200B
(Zero-width space)는 공백이 보이지 않아 레이아웃에 영향을 줄 수 있습니다.U+3000
(전각 공백)은 동아시아 폰트에서만 제대로 표시될 수 있습니다.
구형 브라우저(IE 6~8)까지 고려한다면
가 가장 무난합니다! 😊
필요한 특정 용도에 맞춰 선택하시면 됩니다! 😊