HTML 엔티티

<, >, &와 따옴표를 HTML에 넣기 위해 엔티티로 바꾸거나, 엔티티를 다시 문자로 되돌립니다.

HTML 안에 그대로 둘 수 있는 글

<나 &가 있는 글을 HTML에 넣으면 브라우저가 마크업으로 읽습니다. 인코드는 그런 문자를 엔티티로 바꾸고, 디코드는 엔티티를 문자로 되돌립니다. JSON 이스케이프와는 다른 일이고, 태그를 걷어 내지도 않습니다. 문자만 다시 씁니다.

쓰는 순서

  1. 원문이나 엔티티 문자열을 붙여 넣습니다.
  2. 인코드 또는 디코드를 고릅니다. 인코드는 &, <, >와 두 종류의 따옴표를 항상 바꿉니다.
  3. 「ASCII 밖 문자도 인코드」를 켜면 한글과 악센트 글자가 &#xHHHH;가 됩니다. 페이지가 UTF-8이고 마크업 문자만 바꾸면 될 때는 끕니다.
  4. 디코드는 &#20013; 같은 10진수, &#x4E2D; 같은 16진수, 그리고 짧은 이름 목록을 받습니다. amp, lt, gt, quot, apos, nbsp, copy, reg, trade, mdash, ndash, hellip, laquo, raquo, bull, middot, euro, pound, yen, cent, sect, para, deg, plusmn, times, divide, micro. 목록에 없는 이름은 그대로 둡니다.

기대하지 말 것

인코드는 태그를 씌우거나 문서 형식을 붙이지 않습니다. 이미 엔티티인 &를 한 번 더 인코드하면 &amp;가 됩니다. 디코드는 한 겹만 벗깁니다. HTML5의 많은 이름은 위 목록에 없어서 붙여 넣은 그대로입니다. 올바른 코드 포인트가 아닌 숫자 엔티티도 글로 남겨, 틀린 곳을 보이게 합니다.

이럴 때

  • 사용자 입력을 HTML에 넣되 태그가 되지 않게 할 때.
  • 한글을 숫자 엔티티로 저장한 옛 페이지나 피드를 읽을 때.
  • 그리기 전에 템플릿이 실제로 보여줄 글자를 확인할 때.

자주 묻는 말

&euro;가 글자로 안 바뀌었습니다.

인코드 중이면 & 자체가 이스케이프되어 엔티티 소스가 보입니다. 디코드로 바꾸면 아는 이름이 문자가 됩니다.

HTML5 이름이 전부 필요합니다.

이 페이지는 보통 글에서 만나는 이름과, 어떤 숫자 엔티티든 처리합니다. 모르는 이름은 남겨 두어 오타가 조용히 사라지지 않게 합니다.