개발자 도구

HTML 엔티티

마크업 문자를 이스케이프해 텍스트로 표시하거나, 다시 디코딩합니다.

HTML 엔티티 내 기기에서 실행
  • 브라우저에서 실행됩니다 — 입력한 텍스트는 어디로도 전송되지 않습니다
  • 가입 불필요, 사용량 제한 없음, 원하는 만큼 무료로 사용

작동 방식

신뢰할 수 없는 텍스트를 이스케이프하지 않고 웹 페이지에 넣으면 크로스 사이트 스크립팅이 발생합니다. 인코딩은 브라우저가 마크업으로 취급하는 문자를 엔티티로 바꾸어, 실행되지 않고 표시되게 합니다.

인코딩되는 문자

중요한 다섯 문자인 앰퍼샌드, 작다 기호, 크다 기호, 큰따옴표, 작은따옴표입니다. 앰퍼샌드를 먼저 인코딩해야 합니다. 그렇지 않으면 뒤따르는 모든 것이 이중으로 인코딩됩니다.

디코딩

디코딩은 조회 표 대신 브라우저의 파서를 사용해 이름 엔티티와 숫자 엔티티를 문자로 되돌리므로, 전체 집합이 올바르게 처리됩니다.

정확히 무엇이 인코딩되는가

인코딩은 다섯 문자를 바꿉니다. &는 &amp;가 되고, <는 &lt;가 되고, >는 &gt;가 되고, "는 &quot;가 되고, '는 &#39;가 됩니다. HTML 안과 따옴표로 묶인 속성 안에서 텍스트를 안전하게 표시하기에 충분합니다. 악센트 문자와 이모지는 UTF-8 페이지가 그대로 표시하므로 그대로 둡니다.

디코딩

디코딩은 &eacute;, &mdash;, &nbsp;처럼 HTML이 정의한 모든 이름 엔티티와, 10진수 또는 16진수 숫자 엔티티(&#233;, &#xE9;)를 이해합니다. 브라우저 자체의 HTML 파서를 사용하기 때문입니다.

자주 묻는 질문

HTML 엔티티 — 자주 묻는 질문

이걸로 내 사이트가 XSS로부터 안전해지나요?

출력 이스케이프는 필수적인 부분이지만, 안전은 올바른 맥락에서 이스케이프하느냐에 달려 있습니다. 프레임워크가 있다면 그 이스케이프 기능을 쓰세요.

어떤 문자를 인코딩하나요?

앰퍼샌드, 작다 기호, 크다 기호, 큰따옴표, 작은따옴표입니다. 브라우저가 그대로 두면 마크업으로 읽을 수 있는 문자들입니다.

텍스트가 업로드되나요?

아니요. 인코딩은 페이지 안에서 실행됩니다.