moim.bio

URL 디코딩

%EA%B0%80 같은 퍼센트 인코딩을 원래 글자로 되돌립니다. 이중 인코딩된 값도 한 번에 풉니다.

%가 잔뜩 붙은 주소 읽기

로그나 리퍼러에서 %EC%95%88%EB%85%95 같은 값을 만나면 그대로는 무슨 뜻인지 알 수 없습니다. 여기 붙여넣으면 원래 글자로 되돌아옵니다. 주소 한 줄을 통째로 넣어도 https:// 부분은 건드리지 않고 인코딩된 자리만 풉니다.

이중 인코딩 알아보기

디코딩했는데 여전히 %EA%B0%80처럼 보인다면 이중 인코딩된 값입니다. %%25로 한 번 더 감싸진 상태이고, 대개 인코딩을 두 번 하는 코드가 어딘가에 있다는 신호입니다.

이중 인코딩 끝까지 풀기를 켜면 더 이상 변하지 않을 때까지 반복합니다. 다만 이건 증상 완화지 해결이 아닙니다 — 값이 100%25처럼 진짜 퍼센트 기호를 담고 있으면 그것까지 풀어 버려 원본이 망가집니다. 평소에는 꺼 두고, 원인을 찾을 때만 켜세요.

+ 기호 처리

+를 공백으로 볼지는 그 값이 어디서 왔는지에 달렸습니다.

출처설정
HTML 폼 전송 본문, 검색 쿼리스트링켜기 — +는 공백
경로, JSON 값, Base64 문자열끄기 — +는 그냥 +

Base64 문자열에 이걸 켜면 +가 전부 공백이 되어 값이 깨집니다. 기본값이 꺼짐인 이유입니다.

"% 뒤에 16진수 두 자리가 없습니다"

인코딩되지 않은 %가 값 안에 있다는 뜻입니다. 할인 50% 적용 같은 문자열을 인코딩하지 않고 주소에 넣으면 이 오류가 납니다. 값 안의 퍼센트 기호는 반드시 %25로 써야 합니다. 오류 아래에 몇 번째 글자인지 표시해 줍니다.

한글이 아니라 깨진 글자가 나옵니다

원본이 UTF-8이 아니라 EUC-KR로 인코딩된 경우입니다. 구형 시스템의 %C7%D1 같은 값이 이에 해당합니다. 이 도구는 UTF-8만 다루므로, EUC-KR 값은 Base64 디코딩의 문자셋 선택을 활용하거나 서버 쪽에서 변환해야 합니다.

다른 도구 33개