HTML 엔티티 인코딩 도구

HTML 엔티티 문자를 온라인으로 변환하며, 인코딩 및 디코딩을 지원하고 XSS 공격을 효과적으로 방지합니다

텍스트 입력
문자 수: 0
바이트 수: 0
변환 결과
문자 수: 0
바이트 수: 0

변환 방식 선택

HTML 엔티티 인코딩이란?

HTML 엔티티 인코딩은 특수 문자를 HTML 엔티티 참조로 변환하는 메커니즘입니다. HTML에서 일부 문자는 특수한 의미를 가지고 있습니다(예: <, >, &). 이러한 문자 자체를 페이지에 표시하려면 엔티티 인코딩을 사용해야 합니다. 엔티티 인코딩에는 두 가지 형태가 있습니다: 명명된 엔티티(예: &lt;)와 숫자 엔티티(예: &#60;). 명명된 엔티티는 읽기 쉽고, 숫자 엔티티는 모든 Unicode 문자를 표현할 수 있습니다.

HTML 엔티티 인코딩의 주요 용도

  • XSS 공격 방지: 사용자 입력의 특수 문자를 이스케이프하여 악성 스크립트 주입을 방지합니다
  • 특수 문자 표시: HTML에서 < > & " ' 등 예약 문자를 표시합니다
  • 국제화 지원: 숫자 엔티티를 사용하여 다양한 언어의 특수 문자를 표시합니다
  • 코드 전시: 웹 페이지에서 HTML 코드 조각을 안전하게 전시합니다

사용 방법

기본 조작

  1. 왼쪽 입력란에 변환할 텍스트를 입력하거나 붙여넣기 합니다
  2. 해당하는 변환 버튼을 클릭하여 인코딩 또는 디코딩 방식을 선택합니다
  3. 오른쪽에 변환 결과가 자동으로 표시됩니다
  4. '복사' 버튼을 클릭하여 결과를 클립보드에 복사합니다

변환 방식 설명

  • HTML 엔티티 인코딩: < > & " '를 명명된 엔티티로 변환하며, XSS 방지에 적합합니다
  • HTML 엔티티 디코딩: 명명된 엔티티를 원래 문자로 복원합니다
  • 숫자 엔티티 인코딩: 특수 문자를 숫자 엔티티 형태(예: &#60;)로 변환합니다
  • 전체 인코딩: 모든 비 ASCII 문자를 인코딩하며, 국제화 시나리오에 적합합니다
  • 전체 디코딩: 모든 형태의 HTML 엔티티를 복원합니다

단축키

  • Ctrl + E - HTML 엔티티 인코딩
  • Ctrl + D - HTML 엔티티 디코딩

자주 사용하는 HTML 엔티티 문자표

문자명명된 엔티티숫자 엔티티설명
<&lt;&#60;작은 부호
>&gt;&#62;큰 부호
&&amp;&#38;앰퍼샌드
"&quot;&#34;큰따옴표
'&apos;&#39;작은따옴표
공백&nbsp;&#160;줄 바꿈 없는 공백
©&copy;&#169;저작권 기호
®&reg;&#174;등록 상표
&trade;&#8482;상표 기호
&euro;&#8364;유로 기호
¥&yen;&#165;엔화/위안화 기호

자주 묻는 질문 (FAQ)

Q: HTML 엔티티 인코딩과 URL 인코딩의 차이는?

A: HTML 엔티티 인코딩은 HTML 문서에서 사용되며, 특수 문자를 &xxx; 또는 &#xxx; 형식으로 변환합니다. URL 인코딩은 URL에서 사용되며, 특수 문자를 %XX 형식으로 변환합니다. 두 방식의应用场景은 다릅니다. HTML 인코딩은 페이지 내용에, URL 인코딩은 링크 주소에 사용됩니다.

Q: 인코딩 후 &가 &amp;로 표시되는 이유는?

A: &는 엔티티 인코딩의 접두사이므로 인코딩 시 먼저 처리해야 합니다. 첫 번째 인코딩에서는 &가 &amp;로 변환됩니다. 디코딩 시 &amp;가 &로 복원됩니다.

Q: 명명된 엔티티와 숫자 엔티티 중 어떤 것이 더 좋은가요?

A: 명명된 엔티티(예: &lt;)는 읽기 쉽고 유지보수가 편하고, 숫자 엔티티(예: &#60;)는 모든 Unicode 문자를 표현할 수 있어 호환성이 더 좋습니다. 일반적인 문자에는 명명된 엔티티를 추천하고, 특수 문자에는 숫자 엔티티를 사용하세요.

Q: XSS 공격을 어떻게 방지하나요?

A: 사용자 입력한 내용을 HTML 페이지에 출력하기 전에, HTML 엔티티 인코딩을 사용하여 < > & " ' 등의 문자를 이스케이프합니다. 이렇게 하면 사용자가 악성 스크립트를 입력해도 일반 텍스트로 표시되며 실행되지 않습니다.

Q: 제 데이터는 안전한가요?

A: 완전히 안전합니다. 이 도구의 모든 처리는 사용자의 브라우저에서 이루어지며, 데이터가 어떤 서버에도 업로드되지 않습니다. 사용자의 데이터는 항상 사용자의 장치에만 저장됩니다.