한 번 짚으면 헷갈림이 사라진다
도구 쓰다 보면 비슷한 질문이 자주 나온다. 한 번 정리해 두면 다음에 다시 헷갈리는 일이 줄어든다.
Q1. 한글 한 글자가 왜 9자리야?
한글은 UTF-8에서 3바이트. 각 바이트가 %XX 형태로 인코딩되어 한 글자에 9자리. 영문은 1바이트라 인코딩 시 %XX 한 자리(인코딩 안 하면 그대로).
Q2. URL이 너무 길어지는데?
한글이 많으면 결과가 9배 길어진다. 길이를 줄이려면 단축 URL 서비스 활용. 인코딩 자체는 줄이는 방법이 없다.
Q3. % 표기 안에 한글 의미를 알 수 있나?
디코딩하면 한글로 다시 보인다. URL 인코더로 디코딩하면 즉시 한글 결과.
Q4. URL 인코딩과 Base64는 다른 거야?
다르다. URL 인코딩은 % 표기로 변환. Base64는 영문·숫자·일부 기호로 변환. 자리도 다르다 (URL vs 데이터 전송).
Q5. HTML 엔티티(& 등)와도 다르지?
다르다. HTML 엔티티는 HTML 안에서 특수문자 표현. URL 인코딩은 URL 안에서 특수문자 표현. 같은 결과를 다른 자리에서 처리.
Q6. 모바일에서도 처리되나?
웹 도구는 모바일 브라우저에서도 같은 환경. PC와 동일하게 사용 가능.
Q7. 안전한 URL 만들려면?
- 한글·특수문자 → 모두 인코딩
- 공백 → %20
- 예약 문자 → 의도 명확
- 전체 길이 2000자 이하
Q8. 도구 결과를 그대로 코드에 써도 돼?
대체로 안전. 다만 언어별 함수에 따라 미세 차이 가능. JavaScript의 encodeURIComponent와 도구 결과 비교 후 사용. URI 인코딩 도구로 결과 검증 가능.
마무리
URL 인코딩 관련 질문은 한두 번 짚으면 다음부터 헷갈리지 않는다.