HTML 엔티티 인코더 디코더 — < & 특수문자 변환
HTML 특수문자 엔티티 인코딩과 디코딩
브라우저에서 처리 · 서버로 전송되지 않음
소개
HTML에서 <, & 같은 문자는 특별한 뜻을 가지므로, 글자 그대로 보여 주려면 <, & 같은 엔티티로 적어야 합니다. 이 도구는 텍스트를 엔티티로 바꾸거나 엔티티를 원래 문자로 되돌립니다.
사용법
- 인코딩 또는 디코딩을 고릅니다.
- 인코딩이라면 범위를 고릅니다. 필수 5문자만 바꿀지, 한글과 이모지를 포함한 모든 비ASCII 문자를 숫자 참조로 바꿀지 선택하세요.
- 입력 칸에 내용을 붙여 넣으면 결과가 바로 나옵니다.
- 복사 버튼으로 가져가거나 결과를 입력으로 버튼으로 되돌려 확인하세요.
기준
- 필수 5문자 모드:
&는&,<는<,>는>,"는",'는'로 바꿉니다. - 비ASCII 전체 모드: 위 5문자에 더해 코드 포인트 128 이상인 모든 문자를 10진 숫자 참조(
한)로 바꿉니다. 이모지는 두 조각이 아니라 하나의 코드 포인트로 처리합니다. - 디코딩: 이름 참조, 10진 참조(
A), 16진 참조(A)를 한 번에 한 단계만 풀어요.&lt;는<가 되며<까지 가지 않습니다. - 이름 참조는 내장된 약 50개 표(amp, lt, gt, quot, apos, nbsp, copy, euro, hellip 등)만 지원합니다. 표에 없는 이름은 그대로 둡니다.
- 0, 서로게이트 영역, 유니코드 범위를 넘는 숫자 참조는 HTML 표준처럼 대체 문자(U+FFFD)가 됩니다.
예시
| 입력 | 모드 | 결과 |
|---|---|---|
<a href="x"> |
필수 5문자 | <a href="x"> |
한글 |
비ASCII 전체 | 한글 |
👍 |
비ASCII 전체 | 👍 |
© 👍 |
디코딩 | © 👍 |
알아 두면 좋은 점
- 속성값 안에 넣을 문자열은 따옴표도 반드시 바꿔야 하므로 필수 5문자 모드가 알맞습니다.
는 줄바꿈이 되지 않는 공백(U+00A0)이며, 디코딩하면 일반 공백과 비슷해 보이지만 다른 문자입니다.- 이중 인코딩을 막으려면 이미 엔티티가 들어 있는 문자열은 먼저 디코딩한 뒤 다시 인코딩하세요.
자주 묻는 질문
왜 HTML을 엔티티로 인코딩해야 하나요?
사용자가 입력한 문자열을 페이지에 그대로 넣으면 < 같은 문자가 태그로 해석됩니다. 필수 문자를 엔티티로 바꾸면 글자 그대로 보이게 되고, 스크립트가 끼어드는 문제를 줄일 수 있어요. 다만 서버 쪽 출력 이스케이프를 대신하는 것은 아닙니다.
필수 5문자란 무엇인가요?
앰퍼샌드, 작다 기호, 크다 기호, 큰따옴표, 작은따옴표 다섯 개입니다. 각각 & < > " ' 로 바꿉니다.
한글도 엔티티로 바꿔야 하나요?
문서가 UTF-8이면 바꿀 필요가 없습니다. 인코딩을 확신할 수 없는 환경에 넘기거나 ASCII만 허용되는 곳에 붙여 넣을 때만 비ASCII 전체 모드를 쓰세요.
디코딩이 되지 않는 엔티티가 있어요.
HTML 표준에는 2천 개가 넘는 이름 엔티티가 있는데 이 도구는 자주 쓰는 약 50개의 이름과 모든 숫자 참조만 지원합니다. 모르는 이름은 건드리지 않고 그대로 둡니다.