{{위키데이터 속성 추적}}
'''퍼센트 인코딩'''(percent-encoding)은 [[URL]]에 [[문자]]를 표현하는 [[문자 인코딩]] 방법이다. 이 방법에 따르면 알파벳이나 숫자 등 몇몇 문자를 제외한 값은 [[옥텟]] 단위로 묶어서, 16진수 값으로 인코딩한다.

{| class="wikitable"
|+ '<code>위키백과</code>'의 인코딩
! 인코딩 !! [[UTF-8]] !! [[EUC-KR]]
|-align="right"
| 16진수 표현 || <code>EC 9C 84 ED 82 A4 EB B0 B1 EA B3 BC</code> || <code>C0 A7 C5 B0 B9 E9 B0 FA</code>
|-
| 퍼센트 인코딩 || <code>%EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC</code> || <code>%C0%A7%C5%B0%B9%E9%B0%FA</code>
|}

== 규약 ==

퍼센트 인코딩 규약은 RFC 3986에 정의되어 있다. 이 RFC에 따르면 URL에서 중요하게 사용되는 '''예약'''(reserved) 문자가 있고, 또한 인코딩이 필요하지 않은 '''비예약'''(unreserved) 문자가 존재한다.

예약 문자는 다음과 같다. 이들 중 일부는 URI에서 중요한 문법적 의미를 가지고 있기 때문에, 그 의미로 사용할 것이 아니라면 반드시 인코딩을 해야 한다.

{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse; background-color:white;" class="wikitable"
|+RFC 3986 section 2.2 ''Reserved Characters'' (January 2005)
|-
| <code>[[!]]</code> || <code>[[별표|<nowiki>*</nowiki>]]</code> || <code>[[작은따옴표|']]</code> ||<code>[[(]]</code> || <code>[[)]]</code> || <code>[[;]]</code> || <code>[[쌍점|<nowiki>:</nowiki>]]</code> || <code>[[@]]</code> || <code>[[&]]</code> || <code>[[=]]</code> || <code>[[+]]</code> || <code>[[$]]</code> ||<code>[[쉼표 (문장 부호)|,]]</code> || <code>[[:/]]</code> || <code>[[?]]</code> || <code>[[해시 기호|#]]</code> ||<code>[[대괄호|<nowiki>[</nowiki>]]</code> || <code>[[대괄호|<nowiki>]</nowiki>]]</code>
|}

비예약 문자는 다음과 같다. 이들 문자는 퍼센트 인코딩을 할 필요가 없고, 인코딩을 안 하는 것을 권장한다.

{| cellpadding="6px" border=1 style="border:1px solid #C0C0C0; border-collapse:collapse; background-color:white;" class="wikitable"|+RFC 3986 section 2.3 ''Unreserved Characters'' (January 2005)
|-
| <code>[[A]]</code> || <code>[[B]]</code> || <code>[[C]]</code> || <code>[[D]]</code> || <code>[[E]]</code> || <code>[[F]]</code> || <code>[[G]]</code> ||<code>[[H]]</code> || <code>[[I]]</code> || <code>[[J]]</code> || <code>[[K]]</code> || <code>[[L]]</code> || <code>[[M]]</code> || <code>[[N]]</code> ||<code>[[O]]</code> || <code>[[P]]</code> || <code>[[Q]]</code> || <code>[[R]]</code> || <code>[[S]]</code> || <code>[[T]]</code> || <code>[[U]]</code> ||<code>[[V]]</code> || <code>[[W]]</code> || <code>[[X]]</code> || <code>[[Y]]</code> || <code>[[Z]]</code>
|-
| <code>[[a]]</code> || <code>[[b]]</code> || <code>[[c]]</code> || <code>[[d]]</code> || <code>[[e]]</code> || <code>[[f]]</code> || <code>[[g]]</code> ||<code>[[h]]</code> || <code>[[i]]</code> || <code>[[j]]</code> || <code>[[k]]</code> || <code>[[l]]</code> || <code>[[m]]</code> || <code>[[n]]</code> ||<code>[[o]]</code> || <code>[[p]]</code> || <code>[[q]]</code> || <code>[[r]]</code> || <code>[[s]]</code> || <code>[[t]]</code> || <code>[[u]]</code> ||<code>[[v]]</code> || <code>[[w]]</code> || <code>[[x]]</code> || <code>[[y]]</code> || <code>[[z]]</code>
|-
| <code>[[0]]</code> || <code>[[1]]</code> || <code>[[2]]</code> || <code>[[3]]</code> || <code>[[4]]</code> || <code>[[5]]</code> || <code>[[6]]</code> || <code>[[7]]</code> || <code>[[8]]</code> ||<code>[[9]]</code>
| <code>[[하이픈|-]]</code> || <code>[[밑줄|<nowiki>_</nowiki>]]</code> || <code>[[마침표|<nowiki>.</nowiki>]]</code> || <code>[[~]]</code> || colspan="13" | <!--empty-->
|}

== 같이 보기 ==
* [[이스케이프 시퀀스]]
* [[유니코드]]

== 외부 링크 ==
* RFC 3986 / [[Internet standard|STD]] 66 (plus [http://www.rfc-editor.org/errata_search.php?rfc=3986 errata]), the current generic URI syntax specification.
* RFC 2396 (obsolete, plus [http://www.rfc-editor.org/errata_search.php?rfc=2396&rec_status=15&presentation=records errata]) and RFC 2732 (plus [http://www.rfc-editor.org/errata_search.php?rfc=2732&rec_status=15&presentation=records errata]) together comprised the previous version of the generic URI syntax specification.
* RFC 1738 (mostly obsolete) and RFC 1808 (obsolete), which define [[Uniform Resource Locator|URLs]].
* RFC 1630 (obsolete), the first generic URI syntax specification.

[[분류:인터넷 표준]]
[[분류:문자 인코딩]]
[[분류:URI 스킴]]