본 사이트는 파트너스 활동으로 수수료를 받을 수 있으며, 서버 운영과 무료 앱 개발에 사용됩니다. 본 사이트는 파트너스 활동으로 수수료를 받을 수 있으며
서버 운영과 무료 앱 개발에 사용됩니다.
🔤
프로그래밍 허브

문자열 인코딩/디코딩

Base64, URL 인코딩/디코딩

인코딩 타입 선택

예시 텍스트 (클릭하여 적용)

인코딩 / 디코딩

문자: 17바이트: 27줄: 1
📦Base64
SGVsbG8gV29ybGQg7JWI64WV7ZWY7IS47JqU
🌐URL
Hello%20World%20%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94
📄HTML Entity
Hello World 안녕하세요
🔤Unicode
Hello World \uC548\uB155\uD558\uC138\uC694
🔢Hex
48 65 6C 6C 6F 20 57 6F 72 6C 64 20 EC 95 88 EB 85 95 ED 95 98 EC 84 B8 EC 9A 94
참고: Base64와 URL 인코딩은 암호화가 아닙니다. 누구나 디코딩할 수 있으므로 민감한 정보 보호에는 적합하지 않습니다. 보안이 필요한 경우 암호화(AES 등)를 사용하세요.

🔤 문자열 인코딩/디코딩 완벽 가이드 - 웹 개발 필수 도구

문자열 인코딩은 데이터를 특정 형식으로 변환하는 핵심 기술입니다. 본 계산기는 Base64, URL, HTML Entity, Unicode, Hex 5가지 인코딩/디코딩을 지원하며, 웹 개발, API 통신, 데이터 전송에 필수적인 도구입니다. 실시간 변환, 복사 기능, 입력 통계를 제공합니다.

📊 인코딩 방식 비교표

인코딩용도문자셋크기 증가예시
Base64이진 데이터 → 텍스트A-Z, a-z, 0-9, +, /~33%SGVsbG8=
URLURL 안전 문자 변환% + 16진수~3x (한글)%ED%95%9C%EA%B8%80
HTML EntityHTML 특수문자 이스케이프&name; 또는 &#num;다양<script>
UnicodeUnicode 이스케이프\uXXXX~6x\uD55C\uAE00
Hex16진수 문자열0-9, A-F~2x48 65 6C 6C 6F

🔬 각 인코딩 상세 설명

📦 Base64

이진 데이터를 64개의 ASCII 문자로 변환합니다. 이메일 첨부, JSON에 이미지 포함, JWT 토큰 등에 사용됩니다. 3바이트를 4문자로 변환하여 ~33% 크기가 증가합니다.

🌐 URL (Percent) Encoding

URL에 사용할 수 없는 문자를 %XX 형식으로 변환합니다. 쿼리 파라미터, 한글 URL, 특수문자 처리에 필수입니다. RFC 3986 표준을 따릅니다.

📄 HTML Entity

HTML에서 특별한 의미를 가진 문자를 이스케이프합니다. XSS 공격 방지, HTML 내 특수문자 표시에 필수입니다. < → &lt;, > → &gt; 등으로 변환됩니다.

🔤 Unicode Escape

비ASCII 문자를 \uXXXX 형식으로 변환합니다. JSON에서 유니코드 문자 표현, 소스 코드 호환성에 사용됩니다. JavaScript, Java, Python 등에서 사용됩니다.

💡 인코딩 활용 예시

🌐 웹 개발

  • URL 파라미터: ?name=홍길동 → ?name=%ED%99%8D%EA%B8%B8%EB%8F%99
  • Data URI: data:image/png;base64,iVBORw0...
  • XSS 방지: <script> → &lt;script&gt;

📧 이메일 및 API

  • MIME 첨부파일: 이진 파일을 Base64로 인코딩
  • Basic Auth: Authorization: Basic base64(user:pass)
  • JWT 토큰: Header.Payload.Signature (각각 Base64URL)

💻 프로그래밍

  • JSON 이스케이프: 유니코드 문자 처리
  • 정규식 패턴: 특수문자 이스케이프
  • 디버깅: Hex 덤프로 바이너리 데이터 분석

❔ 자주 묻는 질문 (FAQ)

Q. Base64와 암호화의 차이는?

Base64는 암호화가 아닙니다. 단순히 이진 데이터를 텍스트로 표현하는 인코딩 방식입니다. 누구나 디코딩할 수 있으므로 민감한 정보 보호에는 적합하지 않습니다. 보안이 필요하면 AES, RSA 같은 암호화를 사용하세요.

Q. URL 인코딩과 HTML Entity의 차이는?

URL 인코딩은 URL에 사용하기 위해 %XX 형식으로 변환하고,HTML Entity는 HTML 문서에서 특수문자를 안전하게 표시하기 위해 &name; 형식으로 변환합니다. 용도가 다르므로 각각의 상황에 맞게 사용해야 합니다.

Q. 한글은 어떻게 인코딩되나요?

한글은 UTF-8로 인코딩되면 3바이트가 됩니다. 예: '한' = EC 95 88 (3바이트). URL 인코딩 시 %EC%95%88처럼 9자로 표현됩니다. Base64는 UTF-8 바이트를 인코딩하여 4자로 표현합니다.

Q. Base64URL과 Base64의 차이는?

기본 Base64는 +, /, = 문자를 사용하는데, 이들은 URL에서 특별한 의미가 있습니다.Base64URL은 +를 -, /를 _로 대체하고 패딩(=)을 생략하여 URL 안전하게 만듭니다. JWT 토큰에서 사용됩니다.

Q. XSS 공격과 HTML Entity의 관계는?

XSS(Cross-Site Scripting)는 악성 스크립트가 웹페이지에 삽입되는 공격입니다. 사용자 입력을 HTML에 표시할 때 <, >, " 등을 HTML Entity로 변환하면 스크립트가 실행되지 않고 텍스트로 표시되어 XSS를 방지할 수 있습니다.

⚠️ 주의사항

🔓 인코딩 ≠ 암호화

Base64, URL, HTML 인코딩은 암호화가 아닙니다. 누구나 디코딩할 수 있으므로 비밀번호나 개인정보 보호에 사용하면 안 됩니다.

📏 크기 증가

인코딩은 원본보다 크기가 커집니다. Base64는 ~33%, URL 인코딩은 한글의 경우 ~3배 증가합니다. 대용량 데이터 전송 시 고려해야 합니다.

🔄 이중 인코딩 주의

이미 인코딩된 문자열을 다시 인코딩하면 문제가 발생할 수 있습니다. 예: %25 (%)를 다시 URL 인코딩하면 %2525가 됩니다. 디코딩/인코딩 횟수를 정확히 맞춰야 합니다.