liminfo

HTML Entity

HTML 엔티티 / URL 인코딩 / 유니코드 이스케이프 변환

자주 사용하는 HTML 엔티티

HTML Entity 소개

이 도구는 웹 개발에 필수적인 세 가지 텍스트 인코딩/디코딩 유틸리티를 하나의 인터페이스로 통합합니다: HTML 엔티티 인코딩, URL 퍼센트 인코딩, 유니코드 이스케이프 변환. 각 모드에는 고유한 인코딩, 디코딩 버튼과 참조 패널이 있어 웹 개발, API 작업, 데이터 처리 시 인코딩 요구사항에 따라 손쉽게 전환할 수 있습니다.

HTML 엔티티 모드는 &, <, >, 따옴표 등의 특수문자를 &amp;, &lt;, &gt;, &quot; 같은 HTML 엔티티로 변환하여 XSS 취약점과 렌더링 문제를 방지합니다. 기본 모드는 HTML에서 중요한 문자만 인코딩하고, 전체 모드는 모든 비ASCII 문자를 숫자 엔티티(&#NNN;)로 변환하여 순수 ASCII 출력을 보장합니다.

URL 인코딩 모드는 쿼리 파라미터, 폼 제출, REST API 요청 구성에 필수적인 퍼센트 인코딩(encodeURIComponent)을 수행합니다. 공백은 %20으로, 특수문자는 %XX 16진수 형태로 변환됩니다. 전체 모드는 영숫자를 포함한 모든 문자를 인코딩합니다.

유니코드 이스케이프 모드는 JSON 문자열, JavaScript/TypeScript 소스 코드, Java, C# 문자열 리터럴에서 널리 사용되는 \uXXXX 형식으로의 변환을 지원합니다. 소스 파일에 비ASCII 문자를 삽입하거나, 국제화된 문자열을 디버깅하거나, ASCII 전용 시스템에 텍스트를 준비할 때 유용합니다.

세 가지 모드 모두 서버 통신 없이 브라우저 내에서만 실행되어 민감한 데이터에도 안전합니다. "결과 → 입력" 버튼으로 모드 간 연쇄 작업이 가능합니다.

주요 기능

  • 하나의 도구에 3가지 인코딩 모드: HTML Entity, URL Encode, Unicode Escape
  • HTML Entity: 기본 모드(HTML 필수 문자)와 전체 모드(ASCII 안전 출력)
  • URL Encode: 표준 퍼센트 인코딩(encodeURIComponent) + 전체 인코딩
  • Unicode Escape: JSON, JavaScript, Java, C# 문자열용 \uXXXX 형식 변환
  • 각 모드별 자주 사용하는 문자 참조 패널 — 클릭으로 클립보드 복사
  • "결과 → 입력" 버튼으로 모드 간 연쇄 인코딩/디코딩 가능
  • 초기화 버튼으로 입력/출력 영역 한 번에 리셋
  • 잘못된 인코딩 입력에 대한 명확한 오류 메시지
  • 고정폭 글꼴로 인코딩된 출력의 정확한 문자 단위 점검
  • 100% 클라이언트 사이드 처리 — 데이터가 서버로 전송되지 않음
  • 다크 모드 및 반응형 레이아웃 완벽 지원
  • 한국어/영어 이중 언어 인터페이스

자주 묻는 질문

HTML 엔티티란 무엇이며 언제 필요한가요?

HTML 엔티티는 &amp;(&), &lt;(<) 같이 브라우저가 HTML 마크업으로 해석하는 것을 방지하는 특수 시퀀스입니다. HTML에서 사용자 입력 콘텐츠를 표시할 때 XSS 공격을 방지하기 위해, JavaScript에서 HTML 문자열을 조립할 때, 이메일 HTML 템플릿 작업 시 필요합니다. 기본 인코딩은 HTML 특수문자 5개와 주요 기호를, 전체 인코딩은 추가로 모든 비ASCII 문자를 숫자 엔티티로 변환합니다.

URL 퍼센트 인코딩이란 무엇인가요?

URL 퍼센트 인코딩(URL 인코딩)은 URL에서 안전하지 않은 문자를 %와 16진수 ASCII 값으로 대체합니다. 예를 들어 공백은 %20, 앰퍼샌드는 %26이 됩니다. 쿼리 문자열 파라미터, 폼 데이터, URL에 포함되는 모든 텍스트에 필요합니다. 이 도구는 비예약 문자(A-Z, a-z, 0-9, -, _, ., ~)를 제외한 모든 문자를 인코딩하는 encodeURIComponent를 사용합니다.

\uXXXX 유니코드 이스케이프 형식이란?

\uXXXX 형식은 유니코드 문자를 4자리 16진수 코드포인트로 표현합니다. 예를 들어 \u0041은 A, \uD55C는 한글 "한"입니다. JSON 문자열(비ASCII 문자에 대해 JSON 스펙에서 요구), JavaScript/TypeScript 소스 코드, Java 문자열 리터럴, C# 문자열에서 사용됩니다. 순수 ASCII로 문자의 의미를 보존하면서 표현할 수 있습니다.

인코딩과 전체 인코딩의 차이점은?

HTML 엔티티 모드에서 기본 인코딩은 HTML 특수문자 5개와 주요 명명 엔티티만 변환하고, 전체 인코딩은 모든 비ASCII 문자를 변환합니다. URL 인코딩 모드에서 표준은 비예약 문자를 유지하고, 전체는 영숫자 포함 모든 문자를 인코딩합니다. 유니코드 이스케이프 모드에서 표준은 비ASCII만 이스케이프하고, 전체는 ASCII 포함 모든 문자를 이스케이프합니다. ASCII 전용 출력이 보장되어야 할 때 전체 모드를 사용하세요.

모드 간 연쇄 작업이 가능한가요?

네. "결과 → 입력" 버튼으로 한 작업의 출력을 입력 필드로 이동한 후, 탭을 전환하여 다른 인코딩을 적용할 수 있습니다. 예를 들어 URL 디코딩한 문자열을 유니코드 이스케이프 모드로 전환하여 JSON용으로 이스케이프할 수 있습니다. 별도의 도구 간 복사/붙여넣기 없이 작업할 수 있습니다.

이모지와 보충 문자는 어떻게 처리되나요?

이모지 및 기본 다국어 평면 밖의 문자(코드포인트 U+FFFF 이상)를 올바르게 처리합니다. HTML 엔티티 전체 모드에서는 숫자 엔티티로, URL 인코딩에서는 다중 바이트 퍼센트 인코딩으로, 유니코드 이스케이프에서는 16비트 코드 유닛을 사용하는 서로게이트 쌍(\uXXXX 두 개)으로 변환됩니다.

데이터가 안전한가요?

네. 모든 인코딩/디코딩은 encodeURIComponent, 문자열 연산, 정규식 등 브라우저 내장 JavaScript 함수를 사용하여 브라우저에서만 처리됩니다. 데이터가 서버로 전송되거나 저장, 기록되는 일이 없습니다. API 키, 내부 URL, 인증 토큰 등 민감한 콘텐츠에도 안전하게 사용할 수 있습니다.