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 문자를 인코딩합니다. 이름의 엔티티(&), 십진수(&) 또는 16진수(&) 중 하나를 선택하세요.작동 방식
HTML 엔티티는 마크업에서 특별한 의미를 갖는 문자(< > & " ')나 ASCII가 아닌 문자를 <, &, © 같은 시퀀스로 표현합니다. 이렇게 하면 브라우저가 이를 코드로 해석하지 않고 텍스트로 표시합니다.
세 가지 동등한 형식이 있습니다: 이름(©), 10진수(©), 16진수(©). 세 가지 모두 같은 문자를 만듭니다. 이름 형식은 더 읽기 쉽지만 알려진 집합에만 존재합니다.
"필수" 범위는 HTML을 깨뜨리는 문자(& < > " ')만 이스케이프합니다. "모두" 범위는 그 외에 ASCII가 아닌 모든 문자도 이스케이프합니다.
예시
<a href="#"><a href="#">이스케이프하면 브라우저가 태그를 해석하지 못하게 하고 텍스트로 표시합니다.5 < 10 & 3 > 15 < 10 & 3 > 1© 2024 · €© 2024 · €"모두" 범위와 이름 형식입니다. 10진수로는 ©와 €, 16진수로는 ©와 €가 됩니다.활용 사례
- HTML 코드를 렌더링되지 않게 페이지에 텍스트로 표시하기(예시, 문서).
- XSS를 방지하기 위해 사용자 입력을 HTML에 삽입하기 전에 이스케이프하기.
- 특수 기호(©, €, →, ½)를 인코딩 간에 이식 가능하게 삽입하기.
- 페이지 소스 코드에서 복사한, 엔티티가 포함된 텍스트를 디코딩하기.
자주 묻는 질문
이름, 10진수, 16진수 중 어떤 형식이 좋나요?
이름 형식(©)이 가장 읽기 쉽지만 정의된 이름이 있는 문자만 다룹니다. 10진수(©)와 16진수(©)는 모든 유니코드 문자에 사용할 수 있어, 드문 기호에는 안전한 선택입니다.
엔티티를 인코딩하면 XSS 공격을 막나요?
중요한 부분이지만, 이스케이프는 컨텍스트(HTML 콘텐츠, 속성, JavaScript, URL)에 따라 이루어져야 합니다. 한 겹에만 의존하지 말고 프레임워크의 보호 기능도 함께 사용하세요.
항상 이스케이프해야 하는 문자는 무엇인가요?
콘텐츠에서 & < >, 그리고 추가로 속성 값 안의 "와 '. "필수" 범위가 정확히 이 집합을 다룹니다.
내 텍스트가 서버로 전송되나요?
아니요. 인코딩과 디코딩은 모두 브라우저에서 이루어집니다.