HTML 엔티티 인코딩
HTML 안에 안전하게 놓을 수 있도록 텍스트를 이스케이프합니다. 최소는 마크업을 깨뜨리는 다섯 문자를, 모든 비 ASCII는 ASCII를 넘는 것까지 숫자 참조로 바꿉니다.
텍스트
이스케이프 결과
이 도구에 대하여
텍스트는 앰퍼샌드나 꺾쇠가 들어가는 순간 마크업이 됩니다. 떠도는 < 하나가 문단의 나머지를 닫히지 않은 태그로 만들어 버리는 식입니다. 인코딩은 그런 문자를 파서가 글자 그대로 읽는 참조로 바꿉니다. 최소 집합(앰퍼샌드, 양쪽 꺾쇠, 두 종류의 따옴표)은 텍스트를 페이지나 따옴표로 감싼 속성에 넣을 때 필요한 것입니다. 넓은 모드는 악센트 문자와 기호, 이모지까지 이스케이프하는데, UTF-8을 맡길 수 없는 처리 경로를 위한 것입니다.
사용 방법
- 1HTML 안에 넣을 텍스트를 붙여넣습니다.
- 2일반적인 페이지 텍스트라면 최소로 두고, UTF-8이 아닌 목적지라면 모든 비 ASCII를 고릅니다.
- 3이스케이프된 결과를 템플릿에 그대로 복사합니다.
자주 묻는 질문
›어떤 문자를 이스케이프해야 하나요?
페이지 텍스트에서는 &와 <가 실제로 파싱을 깨뜨리는 둘입니다. 속성값 안에서는 쓰고 있는 따옴표도 필요합니다. >와 두 종류의 따옴표까지 이스케이프하는 것이 안전한 습관이고, 여기의 최소가 그렇게 합니다.
›이스케이프하면 사용자 입력을 페이지에 넣어도 안전한가요?
필요조건이지만 충분조건은 아닙니다. 이 다섯 문자를 이스케이프하는 것은 텍스트와 따옴표로 감싼 속성에는 맞습니다. 하지만 <script> 블록 안이나 스타일 규칙, href 같은 URL 속성에서는 다른 규칙이 적용되어 충분하지 않습니다. textContent를 쓰거나 대신 이스케이프해 주는 템플릿 엔진을 쓰세요.
›모든 비 ASCII 모드는 언제 쓰나요?
출력이 UTF-8이 아닌 경로를 지나야 할 때입니다. 오래된 메일 템플릿, 레거시 CMS 필드, 인코딩을 통제할 수 없는 파일 같은 경우죠. ASCII를 넘는 모든 문자가 어떤 파서든 읽을 수 있는 숫자 참조가 됩니다.
›이름 참조와 숫자 참조 중 무엇이 좋나요?
© 같은 이름 참조는 읽기 좋고, © 같은 숫자 참조는 파서가 이름을 몰라도 되므로 언제나 동작합니다. 이 페이지는 HTML의 다섯 문자에는 이름 참조를, 나머지에는 숫자 참조를 씁니다.