Tip

[Unicode] 유니코드 200b(\u200b), Zero-Width Space란?

너드나무 2024. 11. 27. 20:30
반응형

유니코드 200b(Zero-Width Space)란?

유니코드 200b는 "길이가 0인 공간"을 의미하는 문자로,
실제 화면에서는 보이지 않지만 텍스트에 포함됩니다.
  • 유니코드 값: /u200b
  • 이름: Zero-Width Space(ZWS)
  • 특징:
    • 너비가 없어서 출력할 때 보이지 않음.
    • 텍스트 내에서 공백처럼 작동하지만 시각적으로는 확인할 수 없음.
    • 복사/붙여넣기 및 텍스트 처리 작업에서 데이터에 포함될 수 있음.

Zero-Width Space 사례

  • 텍스트 레이아웃과 줄바꿈 처리
    • ZWS를 삽입하면 브라우저나 텍스트 렌더러가 해당 위치에서 줄을 나눌 수 있습니다.
    • 단어가 길지만, ZWS가 있는 위치에서 줄바꿈이 발생할 수 있음.
<p>이것은Zero​Width​Space를사용한줄바꿈예제입니다.</p>

Zero-Width Space 적용 부분

  • 디버깅 문제
    • ZWS는 눈에 보이지 않기 때문에 문자열 비교나 텍스트 처리 작업에서 오류를 유발할 수 있습니다.
    • 원인
      • text2에는 ZWS 포함되어 있어 동일한 문자열이 아님.
text1 = "hello"
text2 = "hello​"  # Zero-Width Space 포함
print(text1 == text2)  # 결과: False

 

Zero-Width Space 사용 시 주의점

  1. 의도적 사용
    • ZWS를 사용할 경우, 코드나 문서에 주석으로 해당 사용 목적을 명확히 기록하세요.
  2. 사용 최소화
    • ZWS는 특수한 목적에만 사용하고, 일반적인 텍스트 처리에는 사용을 지양합니다.
  3. 자동화된 검사 도구 활용
    • 정적 분석 도구를 사용해 코드나 데이터에 ZWS 같은 보이지 않는 문자가 포함되지 않도록 검토하세요.
728x90
반응형