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 중국어 웹사이트의 기타 관련 기사를 참조하세요!