폭 없는 공백

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

폭 없는 공백은 텍스트 내에서 줄 바꿈이 가능한 위치를 지정하는 데 사용되는 문자이다. HTML에서는 `` 요소의 대체로 사용되며, 유니코드 U+200B ZERO WIDTH SPACE에 해당한다. 이 문자는 긴 단어나 URL 등에서 줄 바꿈을 제어하여 가독성을 높이는 데 기여하며, 도메인 이름에 포함될 경우 동형이의어 공격에 악용될 수 있어 ICANN 규정에 의해 금지된다. 폭 없는 공백은 다양한 환경에서 표현될 수 있으며, 윈도우 메모장 등에서 유니코드 제어 문자를 삽입하여 사용할 수 있다.

폭 없는 공백
📚 더 읽어볼만한 페이지
  • 제어 문자 - 공백 문자
    공백 문자는 단어를 구분하고 텍스트의 구조를 나타내기 위해 사용되며, 언어와 컴퓨터 환경에 따라 다양한 형태로 존재하고 활용된다.
  • 제어 문자 - 이스케이프 시퀀스
    이스케이프 시퀀스는 컴퓨터 주변 장치의 상태를 변경하는 문자열로, 초기 보도 코드에서 시작하여 ASCII 표준을 거쳐 발전했으며 터미널, 프린터, 모뎀 제어 등에 사용되고, C 언어에서는 백슬래시를 사용하여 특수 문자를 표현한다.
  • 타이포그래피 - 팬그램
    팬그램은 특정 문자 집합의 모든 문자를 최소 한 번 포함하는 문장이나 구절로, 완전 팬그램, 자기 열거 팬그램 등 여러 유형이 있으며, 다양한 언어에서 활용되고 수학적 연구 주제로도 다뤄진다.
  • 타이포그래피 - ß
    ß(에스체트)는 독일어에서 긴 s와 s 또는 z의 합자에서 유래한 문자로, 특정 조건에서 무성음 /s/를 나타내며, 사용 범위가 축소되었으나 대문자 형태(ẞ)가 추가되어 표준 독일어에서 선택적으로 사용될 수 있다.

2. 사용법

폭 없는 공백은 긴 단어나 문장에서 줄 바꿈이 필요한 위치를 나타낼 때 사용된다. 특히 HTML에서 `<wbr>` 요소의 대체로 사용되어, 긴 단어 중간에 줄 바꿈이 가능한 지점을 표시한다. 하지만, 버전 6 이전의 인터넷 익스플로러처럼 일부 웹 브라우저에서는 제대로 표시되지 않을 수 있다.

폭 없는 공백은 하이픈 없이 잠재적인 줄 바꿈 지점을 표시한다는 점에서 부드러운 하이픈과 유사하지만, 부드러운 하이픈은 줄이 끊어지는 지점에 하이픈을 표시한다는 차이점이 있다.

또한, 폭 없는 공백은 태국어, 미얀마어, 크메르어, 일본어와 같이 단어 사이에 공백이 없는 언어에서 단어 분리를 표시하는 데 사용될 수 있다.

양쪽 정렬된 텍스트에서 렌더링 엔진은 고정 폭 공백과 달리 폭 없는 공백으로 구분된 문자 사이에 문자 간 간격(글자 간격)을 추가할 수 있다.

2.1. HTML

HTML에서는 `<wbr>`요소를 대신하여 긴 단어 중간에 줄 바꿈이 가능한 위치를 지정할 수 있다. 그러나 버전 6 이전의 인터넷 익스플로러와 같이 일부 웹 브라우저에서는 이 기능을 제대로 표시하지 못할 수 있다.

다음은 폭 없는 공백을 사용한 예시이다. 모든 단어 사이에 폭 없는 공백이 들어가 있다.


Lorem​Ipsum​Dolor​Sit​Amet​Consectetur​Adipiscing​Elit​Sed​Do​Eiusmod​Tempor​Incididunt​Ut​Labore​Et​Dolore​Magna​Aliqua​Ut​Enim​Ad​Minim​Veniam​Quis​Nostrud​Exercitation​Ullamco​Laboris​Nisi​Ut​Aliquip​Ex​Ea​Commodo​Consequat​Duis​Aute​Irure​Dolor​In​Reprehenderit​In​Voluptate​Velit​Esse​Cillum​Dolore​Eu​Fugiat​Nulla​Pariatur​Excepteur​Sint​Occaecat​Cupidatat​Non​Proident​Sunt​In​Culpa​Qui​Officia​Deserunt​Mollit​Anim​Id​Est​Laborum


같은 문장에 폭 없는 공백을 사용하지 않으면 아래와 같다.


LoremIpsumDolorSitAmetConsecteturAdipiscingElitSedDoEiusmodTemporIncididuntUtLaboreEtDoloreMagnaAliquaUtEnimAdMinimVeniamQuisNostrudExercitationUllamcoLaborisNisiUtAliquipExEaCommodoConsequatDuisAuteIrureDolorInReprehenderitInVoluptateVelitEsseCillumDoloreEuFugiatNullaPariaturExcepteurSintOccaecatCupidatatNonProidentSuntInCulpaQuiOfficiaDeseruntMollitAnimIdEstLaborum


브라우저가 폭 없는 공백을 지원하는 경우, 첫 번째 예시는 브라우저 창의 폭을 변경하면 단어 사이에서 줄 바꿈이 발생하지만, 두 번째 예시는 줄 바꿈이 발생하지 않는다.

HTML 페이지에서 HTML 요소 `<wbr>`는 폭 없는 공백과 같은 기능을 수행한다. 인터넷 익스플로러 6에서는 일부 글꼴에서 폭 없는 공백이 지원되지 않았다.

2.2. 줄 바꿈 제어

HTML에서는 `<wbr>`요소의 대체로 긴 단어 도중에서 줄 바꿈 가능한 장소를 나타내는데 사용된다. 다만, 버전 6 이전의 인터넷 익스플로러 등, 이것을 바르게 표시할 수 없는 웹 브라우저도 있다.

이하는 폭 없는 공백을 사용한 예시이다. 모든 단어의 사이에 폭 없는 공백이 들어있다.


Lorem​Ipsum​Dolor​Sit​Amet​Consectetur​Adipiscing​Elit​Sed​Do​Eiusmod​Tempor​Incididunt​Ut​Labore​Et​Dolore​Magna​Aliqua​Ut​Enim​Ad​Minim​Veniam​Quis​Nostrud​Exercitation​Ullamco​Laboris​Nisi​Ut​Aliquip​Ex​Ea​Commodo​Consequat​Duis​Aute​Irure​Dolor​In​Reprehenderit​In​Voluptate​Velit​Esse​Cillum​Dolore​Eu​Fugiat​Nulla​Pariatur​Excepteur​Sint​Occaecat​Cupidatat​Non​Proident​Sunt​In​Culpa​Qui​Officia​Deserunt​Mollit​Anim​Id​Est​Laborum


같은 문장에 폭 없는 공백을 사용하지 않으면 아래처럼 된다.


LoremIpsumDolorSitAmetConsecteturAdipiscingElitSedDoEiusmodTemporIncididuntUtLaboreEtDoloreMagnaAliquaUtEnimAdMinimVeniamQuisNostrudExercitationUllamcoLaborisNisiUtAliquipExEaCommodoConsequatDuisAuteIrureDolorInReprehenderitInVoluptateVelitEsseCillumDoloreEuFugiatNullaPariaturExcepteurSintOccaecatCupidatatNonProidentSuntInCulpaQuiOfficiaDeseruntMollitAnimIdEstLaborum


브라우저가 폭 없는 공백에 대응하고 있다면, 첫 번째의 예시는 브라우저의 창 폭을 바꿨을 때에 단어의 사이에서 줄 바꿈이 일어나지만, 두 번째 예시는 줄 바꿈이 없는 것을 알 수 있다.

텍스트에서 폭 없는 공백의 효과를 보여주기 위해, 다음 단어들은 폭 없는 공백으로 구분되었다.


Lorem​Ipsum​Dolor​Sit​Amet​Consectetur​Adipiscing​Elit​Sed​Do​Eiusmod​Tempor​Incididunt​Ut​Labore​Et​Dolore​Magna​Aliqua​Ut​Enim​Ad​Minim​Veniam​Quis​Nostrud​Exercitation​Ullamco​Laboris​Nisi​Ut​Aliquip​Ex​Ea​Commodo​Consequat​Duis​Aute​Irure​Dolor​In​Reprehenderit​In​Voluptate​Velit​Esse​Cillum​Dolore​Eu​Fugiat​Nulla​Pariatur​Excepteur​Sint​Occaecat​Cupidatat​Non​Proident​Sunt​In​Culpa​Qui​Officia​Deserunt​Mollit​Anim​Id​Est​Laborum


반면에, 다음 단어들은 분리되지 않았다.


LoremIpsumDolorSitAmetConsecteturAdipiscingElitSedDoEiusmodTemporIncididuntUtLaboreEtDoloreMagnaAliquaUtEnimAdMinimVeniamQuisNostrudExercitationUllamcoLaborisNisiUtAliquipExEaCommodoConsequatDuisAuteIrureDolorInReprehenderitInVoluptateVelitEsseCillumDoloreEuFugiatNullaPariaturExcepteurSintOccaecatCupidatatNonProidentSuntInCulpaQuiOfficiaDeseruntMollitAnimIdEstLaborum


첫 번째 텍스트는 단어 경계에서만 줄 바꿈이 되며, 브라우저 창의 크기를 조정하면 이에 따라 텍스트가 다시 줄 바꿈된다. 반면 두 번째 텍스트는 전혀 줄 바꿈되지 않는다.

2.3. 단어 분리 (공백 없는 언어)

폭 없는 공백은 태국어, 미얀마어, 크메르어, 일본어와 같이 단어 사이에 눈에 띄는 공백이 없는 언어에서 단어 분리를 표시하는 데 사용될 수 있다.

2.4. 도메인 이름

ICANN의 규칙은 폭 없는 공백을 포함한 표시되지 않는 문자가 도메인 이름에 포함되는 것을 금지하며, 대부분의 브라우저는 악성 URL이 합법적인 URL과 시각적으로 구별할 수 없도록 하는 동형이의어 공격을 생성하는 데 사용할 수 있기 때문에 도메인 이름 내에서 해당 문자의 사용을 금지한다.

3. 문자 코드

유니코드에서 폭 없는 공백은 ZERO WIDTH SPACE영어로 U+200B에 할당되어 있다.

3.1. 표현 방식

HTML에서는 `​` 또는 `​`로 참조할 수 있다. 또한, `​`, `​`, `​` 및 `​`와 같은 문자 엔티티도 이름과는 달리 모두 폭 없는 공백을 가리킨다.

TeX에서는 `\hskip0pt`, LaTeX에서는 `\hspace{0pt}`, groff에서는 `\:`로 표현된다.

4. 기타

일반 사용자에게서는 직접 사용할 상황이 없는 기능이지만, 윈도우 XP 이상의 메모장에서는 우클릭 메뉴에서 유니코드 제어 문자 삽입을 통해 이 문자를 직접 추가할 수 있다. (대표적으로 ZWJ, ZWNJ) 드래그해서 이 문자를 선택할 수 있고 복사, 붙여넣기 등의 작업도 정상적으로 가능하다. 폭 없는 문자라는 이름에서 알 수 있듯이 아무리 많이 이 글자를 추가하더라도 문장의 길이가 늘어나지 않기 때문에 육안으로는 얼마나 이 글자가 추가되어 있는지 식별할 방법이 없다.

컴퓨터 내의 파일명에도 적용 가능하다. 폭 없는 문자만을 파일명으로 작성했다면 파일명이 아예 보이지 않는 파일이 생성되고, 문장 중간에 넣었으면 눈으로 식별이 불가능한 같은 이름을 가진 파일이나 폴더를 2개 만들 수 있다.