로그인
URL 인코딩 및 디코딩

URL 인코딩 및 디코딩

相关工具 TODO
1
2
3

URL 인코딩이란 무엇인가요?

URL 인코딩(퍼센트 인코딩이라고도 함)은 특수 문자를 URL에서 안전하게 전송할 수 있는 형식으로 변환하는 인코딩 방법입니다.URL에는 특정 ASCII 문자 집합만 포함될 수 있으므로 이 범위를 벗어나는 모든 문자는 인코딩해야 합니다.

주요 특징:

  • 안전한 전송: 특수 문자 및 비 ASCII 문자가 URL에서 올바르게 전송되도록 보장합니다
  • 표준화된 형식: %XX 형식을 사용하며, 여기서 XX는 문자의 16진수 표현입니다
  • 광범위한 지원: 모든 최신 브라우저와 웹 서버에서 지원됩니다
  • 가역 변환: 인코딩된 데이터는 원래 내용으로 완전히 복원할 수 있습니다

인코딩 규칙:

URL 인코딩은 안전하지 않은 문자를 % 뒤에 16진수 두 자리가 오는 형식으로 변환합니다.

  • 공백은 %20으로 인코딩됩니다
  • 중국어 문자는 UTF-8로 인코딩한 후 퍼센트 인코딩됩니다
  • 예약된 문자(예: ?, &, = 등)는 특정 컨텍스트에서 인코딩해야 합니다

일반적인 사용 사례:

  1. URL 매개변수 전달: 쿼리 문자열에 특수 문자가 포함된 매개변수 값을 전달합니다
  2. 폼 데이터 제출: HTML 폼 제출 시 데이터가 자동으로 인코딩됩니다
  3. API 인터페이스 호출: API로 전달되는 매개변수 형식이 올바른지 확인합니다
  4. 파일 이름 처리: 특수 문자가 포함된 파일 이름을 처리합니다
  5. 검색 쿼리: 검색 엔진에서 특수 문자가 포함된 콘텐츠를 쿼리합니다

사용 예시

기본 텍스트 인코딩

원본 텍스트: Hello World!

인코딩 후: Hello%20World%21

중국어 문자 인코딩

원본 텍스트: 你好世界

인코딩 후: %E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C

URL 매개변수 예시

원본 URL:

https://example.com/search?q=编程 & 开发&category=技术

올바르게 인코딩된 URL:

https://example.com/search?q=%E7%BC%96%E7%A8%8B%20%26%20%E5%BC%80%E5%8F%91&category=%E6%8A%80%E6%9C%AF

특수 문자 인코딩 표

문자인코딩 결과설명
공백%20가장 일반적인 인코딩 문자
!%21느낌표
@%40@ 기호
#%23해시 기호(앵커 식별자)
$%24달러 기호
%%25퍼센트 기호(충돌을 피하기 위해 인코딩 필요)
&%26앰퍼샌드(매개변수 구분자)
- - = %3D등호(키-값 구분자)
?%3F물음표(쿼리 문자열 시작)
/%2F슬래시(경로 구분자)

실제 적용 사례

1. 검색 기능

// 사용자 검색: "React & Vue 프레임워크 비교"
const searchQuery = encodeURIComponent('React & Vue 프레임워크 비교')
const url = `https://api.example.com/search?q=${searchQuery}`
// 결과: https://api.example.com/search?q=React%20%26%20Vue%20%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%20%EB%B9%84%EA%B5%90

2. 파일 다운로드

// 한글이 포함된 파일 이름 다운로드: "프로젝트 문서.pdf"
const filename = encodeURIComponent('프로젝트 문서.pdf')
const downloadUrl = `https://example.com/download?file=${filename}`

3. 사용자 정보 전달

// 사용자 이름: "홍길동", 이메일: "hong@example.com"
const name = encodeURIComponent('홍길동')
const email = encodeURIComponent('hong@example.com')
const profileUrl = `https://example.com/profile?name=${name}&email=${email}`

주의사항

중요 알림: URL 인코딩은 암호화 방법이 아니며, 인코딩된 데이터는 쉽게 디코딩할 수 있습니다.이는 단지 URL에서 데이터의 올바른 전송을 보장하기 위한 것이며 민감한 정보 보호에 사용해서는 안 됩니다.

자주 묻는 질문:

  1. 중복 인코딩: 이미 인코딩된 문자열을 다시 인코딩하지 마십시오
  2. 인코딩 시점: 데이터를 수신할 때가 아니라 URL을 구성할 때 인코딩해야 합니다
  3. 문자 집합 문제: 중국어 등 비 ASCII 문자를 처리할 때 UTF-8 인코딩을 사용해야 합니다
  4. 예약된 문자: URL의 다른 부분에서 어떤 문자를 인코딩해야 하는지 이해해야 합니다

모범 사례:

  • 항상 사용자 입력 데이터를 인코딩한 후 URL을 구성하십시오
  • 표준 인코딩 함수(예: JavaScript의 encodeURIComponent())를 사용하십시오
  • 서버 측에서 수신된 데이터를 올바르게 디코딩하십시오
  • 다양한 특수 문자 및 비 ASCII 문자가 포함된 시나리오를 테스트하십시오
URL 인코딩 및 디코딩 | Tools Open - 원스톱 온라인 도구 플랫폼