HTML 엔티티(entity) 를 사용하는 이유는 단순히 "기호를 넣기 위해서"가 아니라 문법 충돌이나 예기치 않은 해석을 막기 위한 안전장치라고 보면됩니다.
브라우저가 특수기회를 html 코드로 착각할 수 있어서 특수기호는 엔티티로 변경을 해줘야합니다.
리액트에서는 > 를 넣으면 코드로 착각해서 오류가 발생되는 이유도 하나입니다.
특수문자(기호)
| & | & | 앰퍼샌드 |
| < | < | less than |
| > | > | greater than |
| " | " | 큰따옴표 |
| ' | ' | 작은따옴표 (HTML5부터 지원) |
| © | © | 저작권 |
| ® | ® | 등록상표 |
| ™ | ™ | 상표 |
| · | · | 중간점 (·) |
| × | × | 곱셈 기호 (×) |
| ÷ | ÷ | 나눗셈 기호 (÷) |
| ± | ± | 플러스마이너스 (±) |
| ° | ° | 도 (°) |
| € | € | 유로 |
| £ | £ | 파운드 |
| ¥ | ¥ | 엔화 |
| ¢ | ¢ | 센트 |
| § | § | 절(section) 기호 |
| ¶ | ¶ | 단락 기호 |
공백 & 제어 문자
| (공백) | | non-breaking space (띄어쓰기 고정) |
| (줄바꿈) | <br /> | 줄바꿈 (태그) |
| ― | — | em dash (—) |
| – | – | en dash (–) |
화살표 (Arrow)
| ← | ← | 왼쪽 화살표 |
| → | → | 오른쪽 화살표 |
| ↑ | ↑ | 위쪽 화살표 |
| ↓ | ↓ | 아래쪽 화살표 |
| ⇐ | ⇐ | 왼쪽 이중화살표 |
| ⇒ | ⇒ | 오른쪽 이중화살표 |
| ⇑ | ⇑ | 위쪽 이중화살표 |
| ⇓ | ⇓ | 아래쪽 이중화살표 |
수학 기호
| ∞ | ∞ | 무한대 |
| ≠ | ≠ | 같지 않음 |
| ≈ | ≈ | 근사치 |
| ≤ | ≤ | 작거나 같다 |
| ≥ | ≥ | 크거나 같다 |
| ∑ | ∑ | 합계 |
| ∏ | ∏ | 곱셈 (곱의 기호) |
| √ | √ | 루트 |
| ∫ | ∫ | 적분 |
기타 유용한 기호
| ♠ | ♠ | 스페이드 |
| ♣ | ♣ | 클로버 |
| ♥ | ♥ | 하트 |
| ♦ | ♦ | 다이아몬드 |
| ☎ | ☎ | 전화기 (Unicode) |
| ✉ | ✉ | 편지 (Unicode) |
숫자형 엔티티 (예시)
모든 문자는 유니코드 숫자로도 사용할 수 있습니다.
- > → >
- < → <
- & → &
- A → A
- 가 → 가
엔티티를 사용하는 이유중에 보안상(XSS 방지) 이유도 있습니다.
<script> 에서 괄호를 자동으로 엔티티로 변환하여 스크립트를 무력화하는 이유가 그렇습니다.