🏷️
무료 HTML 인코더 & 디코더
특수 문자를 HTML 엔티티로 인코딩하거나 엔티티를 일반 텍스트로 디코딩합니다. 브라우저에서 즉각적으로 처리됩니다.
한 번 로드하면 오프라인에서도 작동
출력:
예제:
일반 텍스트 / HTML
인코딩된 HTML
여기에 출력이 표시됩니다...
일반 HTML 엔티티 참조
&&
<<
>>
""
''
·
©©
®®
™™
€€
——
……
주요 용도
- RSS 피드용 콘텐츠 인코딩RSS 피드 항목 설명을 위해 HTML 콘텐츠를 인코딩합니다 — RSS 2.0 표준에서 필수입니다.
- HTML 출력을 위해 사용자 입력 살균HTML에 삽입하기 전에 사용자 제공 문자열을 인코딩합니다 — XSS 주입 공격을 방지합니다.
- HTML 이메일용 특수 문자 인코딩&, <, >, © 등의 문자를 HTML 엔티티로 인코딩하여 모든 이메일 클라이언트에서 올바르게 표시됩니다.
- 웹 표시용 사용자 콘텐츠 인코딩HTML 페이지에 렌더링하기 전에 사용자 생성 콘텐츠를 인코딩하여 XSS 공격을 방지합니다.
- XML용 콘텐츠 인코딩XML 파일, RSS 피드, 사이트맵 및 SOAP 페이로드용 특수 문자를 인코딩합니다.
사용 방법
HTML 인코딩과 디코딩은 직접 작성한 정규식 치환과 하드코딩된 명명 엔티티 조회표로 전적으로 브라우저에서 실행됩니다. 서드파티 인코딩 라이브러리도 서버 왕복도 없습니다. 흔하지 않은 명명 엔티티(á나 “ 등)를 디코딩할 때는 비용이 들지 않는 대체 수단으로 브라우저 자체 HTML 파서에 맡깁니다.
- 1정규식으로 바꿀 문자 탐색인코딩 시 유니코드를 인식하는 두 정규식 중 하나가 입력 전체에 실행됩니다. 약 25개의 일반적인 HTML 특수 문자를 대상으로 하는 패턴, 또는 U+007F 이상의 모든 코드 포인트를 잡는 넓은 패턴입니다. 각 일치는 한 글자씩 처리됩니다.
- 2조회표 또는 codePointAt()로 엔티티 생성명명 엔티티 출력의 경우 일치한 문자를 하드코딩된 표에서 찾습니다(예: & → &, © → ©). 10진수나 16진수 출력의 경우 String.codePointAt()으로 유니코드 코드 포인트를 얻어 &#NNN; 또는 &#xNNN;으로 형식화합니다. 정규식이 유니코드 'u' 플래그를 사용하므로 서로게이트 쌍도 올바르게 처리됩니다.
- 3한 번의 정규식 순회로 엔티티를 문자로 디코딩디코딩 시 한 번의 정규식 순회로 모든 엔티티 토큰(&, A, A 등)을 찾아 알맞은 처리기로 보냅니다: 16진수는 parseInt(base 16), 10진수는 Number(), 명명 엔티티는 역조회, 하드코딩된 표에 없는 엔티티는 브라우저가 innerHTML을 기본 파싱하는 textarea 요소를 통해 브라우저 내장 엔티티 표에서 올바른 문자를 얻습니다.
- 4결과가 즉시 나타나며 Clipboard API로 클립보드에 복사출력은 React useMemo로 키를 누를 때마다 동기적으로 다시 계산됩니다. 복사에는 최신 비동기 Clipboard API인 navigator.clipboard.writeText()를 사용하며, 제한된 환경에서는 오류를 조용히 처리합니다.