본문으로 바로가기

유니코드에는 다양한 종류의 공백 문자(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(너비 없는 공백) 등이 자주 사용됩니다.

✅ 가장 웹페이지 호환성이 좋은 안정적인 공백 특수문자 추천

  1. U+0020 (일반 공백, Space)
    • 가장 기본적인 공백으로, 모든 브라우저와 시스템에서 100% 호환됩니다.
    • 단점: 연속된 공백이 있을 경우 HTML에서는 기본적으로 하나로 합쳐집니다. ( 를 사용해야 여러 개 표시 가능)
  2. U+00A0 (Non-breaking Space,  )
    • HTML 엔티티:  
    • 줄 바꿈이 되지 않는 공백으로, 모든 브라우저에서 완벽하게 지원됩니다.
    • 장점: 여러 개 입력해도 공백이 유지되며, 구형 브라우저에서도 문제없이 작동합니다.
    • 단점: 너비가 고정적이어서 반응형 디자인에서 문제가 될 수 있습니다.
  3. U+2002 (En Space,  )
    • HTML 엔티티:  
    • 전각(全角)의 절반 크기(1em의 0.5배)로, 비교적 안정적인 호환성을 가집니다.
    • 장점: 고정폭 글꼴이 아닌 경우에도 일정한 공백을 유지합니다.
    • 단점: 매우 오래된 브라우저(IE6 이하)에서 폭이 정확하지 않을 수 있습니다.
  4. U+2003 (Em Space,  )
    • HTML 엔티티:  
    • 전각(1em)과 동일한 크기로, 넓은 공백이 필요할 때 유용합니다.
    • 장점: 대부분의 현대 브라우저에서 잘 지원됩니다.
    • 단점: IE8 이하에서 일부 렌더링 문제가 있을 수 있습니다.

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) + CSS white-space: pre-wrap;
    • CSS를 사용하면 여러 공백을 자연스럽게 유지할 수 있습니다.
  • 특정 폭의 공백이 필요할 때:   (U+2002) 또는   (U+2003)
    • 현대 브라우저에서는 문제없이 작동하지만, 구형 IE에서는 테스트가 필요합니다.

⚠️ 주의사항

  • U+200B (Zero-width space)는 공백이 보이지 않아 레이아웃에 영향을 줄 수 있습니다.
  • U+3000 (전각 공백)은 동아시아 폰트에서만 제대로 표시될 수 있습니다.

구형 브라우저(IE 6~8)까지 고려한다면  가 가장 무난합니다! 😊

필요한 특정 용도에 맞춰 선택하시면 됩니다! 😊