> Java > java지도 시간 > Java의 UrlDecoder 및 UrlEncoder에 대한 자세한 소개

Java의 UrlDecoder 및 UrlEncoder에 대한 자세한 소개

黄舟
풀어 주다: 2017-07-24 15:35:54
원래의
2308명이 탐색했습니다.

HTML 형식 인코딩을 위한 유틸리티 클래스. 이 클래스에는 문자열을 application/x-www-form-urlencoded MIME 형식으로 변환하기 위한 정적 메서드가 포함되어 있습니다. 다음 글에서는 예제 코드를 통해 Java의 UrlDecoder 및 UrlEncoder에 대한 지식을 소개합니다. 관심 있는 친구들은 함께 살펴보세요.

-URLEncoder

HTML 형식 인코딩을 위한 실용적인 도구 클래스입니다. 이 클래스에는 문자열을 application/x-www-form-urlencoded MIME 형식으로 변환하기 위한 정적 메서드가 포함되어 있습니다. HTML 형식 인코딩에 대한 자세한 내용은 HTML 사양을 참조하세요.

문자열을 인코딩할 때 다음 규칙을 사용하세요.

영숫자 문자 "a" ~ "z", "A" ~ "Z" 및 "0" ~ "9"는 변경되지 않습니다.

특수문자 ".", "-", "*", "_"는 변경되지 않습니다.

공백 문자 " "는 더하기 기호 "+"로 변환됩니다.

다른 모든 문자는 안전하지 않으므로 먼저 일부 인코딩 메커니즘을 사용하여 하나 이상의 바이트로 변환하세요. 각 바이트는 3자리 문자열 "%xy"로 표시됩니다. 여기서 xy는 바이트의 두 자리 16진수 표현입니다. 권장되는 인코딩 방식은 UTF-8입니다. 단, 호환성 문제로 인코딩을 지정하지 않으면 해당 플랫폼의 기본 인코딩이 사용됩니다.

예를 들어, UTF-8 인코딩 메커니즘을 사용하면 "The string ü@foo-bar" 문자열은 "The+string+%C3%BC%40foo-bar"로 변환됩니다. 왜냐하면 UTF-8에서는 다음 문자가 ü는 2바이트, C3(16진수) 및 BC(16진수)로 인코딩되고, 문자 @는 1바이트 40(16진수)으로 인코딩됩니다.

2 URLDecoder

이 클래스에는 application/x-www-form-urlencoded MIME 형식에서 문자열을 디코딩하기 위한 정적 메서드가 포함되어 있습니다.

이 변환 프로세스는 URLEncoder 클래스에서 사용되는 프로세스와 정반대입니다. 인코딩된 문자열의 모든 문자는 "a" ~ "z", "A" ~ "Z", "0" ~ "9" 및 "-", "_", " ." 게다가"*". "%" 문자는 허용되지만 특수 이스케이프 시퀀스의 시작으로 해석됩니다.

변환에는 다음 규칙이 사용됩니다.

영숫자 "a"에서 "z", "A"에서 "Z", "0"에서 "9"는 변경되지 않습니다.

특수문자 ".", "-", "*", "_"는 변경되지 않습니다.

더하기 기호 "+"는 공백 문자 " "로 변환됩니다.

는 "%xy" ​​형식 시퀀스를 1바이트로 처리합니다. 여기서 xy는 8비트 두 자리 16진수 표현입니다. 이러한 바이트 시퀀스 중 하나 이상을 연속적으로 포함하는 모든 하위 문자열은 인코딩이 이러한 연속 바이트를 생성하는 문자로 대체됩니다. 이러한 문자를 디코딩하기 위한 인코딩 메커니즘을 지정할 수 있으며, 지정하지 않은 경우 플랫폼의 기본 인코딩 메커니즘이 사용됩니다.

이 디코더에는 잘못된 문자열을 처리하는 두 가지 방법이 있습니다. 한 가지 방법은 잘못된 문자를 무시하는 것이고, 다른 방법은 IllegalArgumentException 예외를 발생시키는 것입니다.

간단한 예:

Java 코드


try { 
      String encodeStr = URLEncoder.encode("中国", "utf-8"); 
      System.out.println("处理后:" + encodeStr); 
      String decodeStr = URLDecoder.decode(encodeStr, "utf-8"); 
      System.out.println("解码:" + decodeStr); 
    } catch (UnsupportedEncodingException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    }
로그인 후 복사

실행 결과:

Java 코드


处理后:%E4%B8%AD%E5%9B%BD 
解码:中国
로그인 후 복사

위 내용은 Java의 UrlDecoder 및 UrlEncoder에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿