HTML 엔티티 인코딩 도구
HTML 엔티티 문자를 온라인으로 변환하며, 인코딩 및 디코딩을 지원하고 XSS 공격을 효과적으로 방지합니다
변환 방식 선택
HTML 엔티티 인코딩이란?
HTML 엔티티 인코딩은 특수 문자를 HTML 엔티티 참조로 변환하는 메커니즘입니다. HTML에서 일부 문자는 특수한 의미를 가지고 있습니다(예: <, >, &). 이러한 문자 자체를 페이지에 표시하려면 엔티티 인코딩을 사용해야 합니다. 엔티티 인코딩에는 두 가지 형태가 있습니다: 명명된 엔티티(예: <)와 숫자 엔티티(예: <). 명명된 엔티티는 읽기 쉽고, 숫자 엔티티는 모든 Unicode 문자를 표현할 수 있습니다.
HTML 엔티티 인코딩의 주요 용도
- XSS 공격 방지: 사용자 입력의 특수 문자를 이스케이프하여 악성 스크립트 주입을 방지합니다
- 특수 문자 표시: HTML에서 < > & " ' 등 예약 문자를 표시합니다
- 국제화 지원: 숫자 엔티티를 사용하여 다양한 언어의 특수 문자를 표시합니다
- 코드 전시: 웹 페이지에서 HTML 코드 조각을 안전하게 전시합니다
사용 방법
기본 조작
- 왼쪽 입력란에 변환할 텍스트를 입력하거나 붙여넣기 합니다
- 해당하는 변환 버튼을 클릭하여 인코딩 또는 디코딩 방식을 선택합니다
- 오른쪽에 변환 결과가 자동으로 표시됩니다
- '복사' 버튼을 클릭하여 결과를 클립보드에 복사합니다
변환 방식 설명
- HTML 엔티티 인코딩: < > & " '를 명명된 엔티티로 변환하며, XSS 방지에 적합합니다
- HTML 엔티티 디코딩: 명명된 엔티티를 원래 문자로 복원합니다
- 숫자 엔티티 인코딩: 특수 문자를 숫자 엔티티 형태(예: <)로 변환합니다
- 전체 인코딩: 모든 비 ASCII 문자를 인코딩하며, 국제화 시나리오에 적합합니다
- 전체 디코딩: 모든 형태의 HTML 엔티티를 복원합니다
단축키
Ctrl + E- HTML 엔티티 인코딩Ctrl + D- HTML 엔티티 디코딩
자주 사용하는 HTML 엔티티 문자표
| 문자 | 명명된 엔티티 | 숫자 엔티티 | 설명 |
|---|---|---|---|
| < | < | < | 작은 부호 |
| > | > | > | 큰 부호 |
| & | & | & | 앰퍼샌드 |
| " | " | " | 큰따옴표 |
| ' | ' | ' | 작은따옴표 |
| 공백 | |   | 줄 바꿈 없는 공백 |
| © | © | © | 저작권 기호 |
| ® | ® | ® | 등록 상표 |
| ™ | ™ | ™ | 상표 기호 |
| € | € | € | 유로 기호 |
| ¥ | ¥ | ¥ | 엔화/위안화 기호 |
자주 묻는 질문 (FAQ)
Q: HTML 엔티티 인코딩과 URL 인코딩의 차이는?
A: HTML 엔티티 인코딩은 HTML 문서에서 사용되며, 특수 문자를 &xxx; 또는 &#xxx; 형식으로 변환합니다. URL 인코딩은 URL에서 사용되며, 특수 문자를 %XX 형식으로 변환합니다. 두 방식의应用场景은 다릅니다. HTML 인코딩은 페이지 내용에, URL 인코딩은 링크 주소에 사용됩니다.
Q: 인코딩 후 &가 &로 표시되는 이유는?
A: &는 엔티티 인코딩의 접두사이므로 인코딩 시 먼저 처리해야 합니다. 첫 번째 인코딩에서는 &가 &로 변환됩니다. 디코딩 시 &가 &로 복원됩니다.
Q: 명명된 엔티티와 숫자 엔티티 중 어떤 것이 더 좋은가요?
A: 명명된 엔티티(예: <)는 읽기 쉽고 유지보수가 편하고, 숫자 엔티티(예: <)는 모든 Unicode 문자를 표현할 수 있어 호환성이 더 좋습니다. 일반적인 문자에는 명명된 엔티티를 추천하고, 특수 문자에는 숫자 엔티티를 사용하세요.
Q: XSS 공격을 어떻게 방지하나요?
A: 사용자 입력한 내용을 HTML 페이지에 출력하기 전에, HTML 엔티티 인코딩을 사용하여 < > & " ' 등의 문자를 이스케이프합니다. 이렇게 하면 사용자가 악성 스크립트를 입력해도 일반 텍스트로 표시되며 실행되지 않습니다.
Q: 제 데이터는 안전한가요?
A: 완전히 안전합니다. 이 도구의 모든 처리는 사용자의 브라우저에서 이루어지며, 데이터가 어떤 서버에도 업로드되지 않습니다. 사용자의 데이터는 항상 사용자의 장치에만 저장됩니다.