문서의 이전 판입니다!
퍼센트 인코딩은 URL 컨텍스트에서 특정 의미를 가지는 8bit 문다를 인코딩하는 메커니즘입니다.
퍼센트 인코딩은 URL 인코딩이라고 불리기도 합니다. 퍼센트 인코딩은 기호 % 다음에 대체 문자의 ASCII 값을 나타내는 16진수 표현식으로 표시됩니다.
인토딩이 필요한 특수문자는 :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =, % 입니다. 다른 문자는 인코딩할 필요가 없지만 인코딩을 할 수 있습니다.
| No | Character | Encoding | No | Character | Encoding | No | Character | Encoding | No | Character | Encoding | 
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | : | %3A | 6 | ] | %5D | 11 | ' | %27 | 16 | , | %2C | 
| 2 | / | %2F | 7 | @ | %40 | 12 | ( | %28 | 17 | ; | %3B | 
| 3 | ? | %3F | 8 | ! | %21 | 13 | ) | %29 | 18 | = | %3D | 
| 4 | # | %23 | 9 | $ | %24 | 14 | * | %2A | 19 | % | %25 | 
| 5 | [ | %5B | 10 | & | %26 | 15 | + | %2B | 20 | ' ' | %20or+ | 
컨텍스트에 따라 ' ' 문자는 +(application/x-www-form-urlencoded 메시지에 사용되는 퍼센트 인코딩 버전에서와 같이) 또는 URL상에 표시되는 것과 같은 %20으로 변경됩니다.
HTML form 인코딩을 위한 유틸리티 클래스입니다. 이 클래스에는 String을 application/x-www-form-urlencoded MIME 포맷으로 변환하기 위한 정적 메서드가 포함되어 있습니다. HTML 양식 인코딩에 대한 자세한 내용은 HTML 명세표를 참조하십시오.
문자열을 인코딩할 때 다음 규칙이 적용됩니다.
예를 들어 UTF-8을 인코딩 체계로 사용하면, 문자열 “The string ü@foo-bar”는 “The+string+%C3%BC%40foo-bar”로 변환됩니다. 이는 UTF-8에서 문자 ü는 2바이트 C3(16진수) 및 BC(16진수)로 인코딩되고, 문자 @는 1바이트 40(16진수)으로 인코딩되기 때문입니댜.
HTML form 디코딩을 위한 유틸리티 클래스입니다. 이 클래스에는 application/x-www-form-urlencoded MIME 형식에서 문자열을 디코딩하기 위한 정적 메서드가 포함되어 있습니다.
변환 프로세스는 URLEncoder 클래스에서 사용하는 것과 반대입니다. 인코딩된 문자열의 모든 문자는 “a” ~ “z”, “A” ~ “Z”, “0” ~ “9” 및 “-”, “_”, “.”, 그리고 “*” 중 하나입니다.
문자 “%“는 허용되지만 특수 이스케이프 시퀀스의 시작으로 해석됩니다.
변환에는 다음 규칙이 적용됩니다.
이 디코더가 잘못된 문자열을 처리할 수 있는 두 가지 가능한 방법이 있습니다. 잘못된 문자를 그대로 두거나 IllegalArgumentException을 throw할 수 있습니다. 디코더가 취하는 접근 방식은 구현에 달려 있습니다.