0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
설정
HTML 엔티티를 인코딩 및 디코딩합니다. 기본적인 인코딩은 HTML을 깨는 5개 문자만 인코딩합니다: & < > " '. 확장된 인코딩은 또한 모든 비ASCII 문자를 인코딩합니다. 이름의 엔티티(&amp;), 십진수(&#38;) 또는 16진수(&#x26;) 중 하나를 선택하세요.
작업
범위
형식
0

작동 방식

HTML 엔티티는 마크업에서 특별한 의미를 갖는 문자(< > & " ')나 ASCII가 아닌 문자를 &lt;, &amp;, &#169; 같은 시퀀스로 표현합니다. 이렇게 하면 브라우저가 이를 코드로 해석하지 않고 텍스트로 표시합니다.

세 가지 동등한 형식이 있습니다: 이름(&copy;), 10진수(&#169;), 16진수(&#xA9;). 세 가지 모두 같은 문자를 만듭니다. 이름 형식은 더 읽기 쉽지만 알려진 집합에만 존재합니다.

"필수" 범위는 HTML을 깨뜨리는 문자(& < > " ')만 이스케이프합니다. "모두" 범위는 그 외에 ASCII가 아닌 모든 문자도 이스케이프합니다.

예시

<a href="#">&lt;a href=&quot;#&quot;&gt;이스케이프하면 브라우저가 태그를 해석하지 못하게 하고 텍스트로 표시합니다.
5 < 10 & 3 > 15 &lt; 10 &amp; 3 &gt; 1
© 2024 · €&copy; 2024 · &euro;"모두" 범위와 이름 형식입니다. 10진수로는 &#169;와 &#8364;, 16진수로는 &#xA9;와 &#x20AC;가 됩니다.

활용 사례

  • HTML 코드를 렌더링되지 않게 페이지에 텍스트로 표시하기(예시, 문서).
  • XSS를 방지하기 위해 사용자 입력을 HTML에 삽입하기 전에 이스케이프하기.
  • 특수 기호(©, €, →, ½)를 인코딩 간에 이식 가능하게 삽입하기.
  • 페이지 소스 코드에서 복사한, 엔티티가 포함된 텍스트를 디코딩하기.

자주 묻는 질문

이름, 10진수, 16진수 중 어떤 형식이 좋나요?

이름 형식(&copy;)이 가장 읽기 쉽지만 정의된 이름이 있는 문자만 다룹니다. 10진수(&#169;)와 16진수(&#xA9;)는 모든 유니코드 문자에 사용할 수 있어, 드문 기호에는 안전한 선택입니다.

엔티티를 인코딩하면 XSS 공격을 막나요?

중요한 부분이지만, 이스케이프는 컨텍스트(HTML 콘텐츠, 속성, JavaScript, URL)에 따라 이루어져야 합니다. 한 겹에만 의존하지 말고 프레임워크의 보호 기능도 함께 사용하세요.

항상 이스케이프해야 하는 문자는 무엇인가요?

콘텐츠에서 & < >, 그리고 추가로 속성 값 안의 "와 '. "필수" 범위가 정확히 이 집합을 다룹니다.

내 텍스트가 서버로 전송되나요?

아니요. 인코딩과 디코딩은 모두 브라우저에서 이루어집니다.