logo

자바 URL 인코더

Java URLEncoder는 URL(Uniform Resource Locator)을 인코딩하는 데 사용되는 유틸리티 클래스입니다. URL의 인코딩을 사용하여 신뢰성과 보안이 보장됩니다. 사용자가 get 메소드를 통해 특정 사이트를 요청하면 '?' 뒤에 양식 매개변수 및 해당 값이 추가됩니다. URL에 로그인하세요. 그런데 해석되지 않는 값에 특수문자를 사용하면 문제가 발생합니다. 일반적으로 HTML은 모든 작업을 원활하게 처리하기 위해 특수 문자를 처리하여 인코딩 부분을 자동으로 처리하고 이를 허용되는 문자로 변환합니다. 그러나 정확한 인코딩을 확인하지 못하므로 HTML 기능에만 의존할 수 없으며 따라서 URL을 명시적으로 인코딩하려면 Java의 URL Encoder 클래스를 사용합니다.

문자열을 인코딩하는 동안 주어진 규칙을 따르는 것이 중요합니다.

  1. 'a'부터 'z'까지 또는 'A'부터 'Z'까지의 알파벳 문자와 '0'부터 '9'까지의 숫자는 동일하게 유지됩니다.
  2. 영숫자와 '*', '_', '-', '.' 등 일부 특수 문자 바뀌지 않는다.
  3. 모든 공백은 '+' 기호로 변환됩니다.
  4. W3C에서는 인코딩 목적으로 'UTF-8'을 사용할 것을 권장합니다. 다른 모든 문자는 지정된 인코딩 체계를 사용하여 하나 이상의 바이트로 인코딩됩니다. 이는 %xy 형식의 3자 문자열로 변환됩니다. 여기서 xy는 인코딩 문자의 16진수 표현을 나타냅니다.

예시 1:

사용자 요청에 따라 매개변수 값에 특수 문자와 공백이 포함되는 경우

자바를 잡아서 시도해 보세요

u@Java T포인트

사용된 인코딩이 가장 일반적으로 사용되는 UTF-8인 경우 '@' 기호는 '%40'으로 변환되고 공백은 '+' 기호로 변환됩니다. 인코딩된 문자열은 다음과 같습니다.

Q1은 몇 달입니까?

u%40Java+T+포인트

예 2:

사용자 요청에 따라 매개변수 값에 특수 문자나 공백이 포함되지 않는 경우

u@JavaTpoint

인코딩된 문자열은 다음과 같습니다.

유닉스 최상위 명령

u%40JavaTPoint

인코딩 URL

URL을 인코딩하기 위해 Java URLEncoder 클래스는 encode() 메소드를 제공합니다.

URLEncoder.인코드( )

이 메서드는 특정 인코딩 체계를 사용하여 문자열을 application/x-www-form-url 인코딩 형식으로 변환합니다. 제공된 인코딩 체계를 사용하여 안전하지 않은 문자에 대한 바이트를 얻습니다.

통사론:

 public static String encode(String s, String enc) throws UnsupportedEncodingException 

참고: World Wide Web Consortium에서는 UTF-8 인코딩 체계를 사용할 것을 권장합니다. 그렇지 않으면 다양한 비호환성이 발생합니다.

매개변수:

에스: 번역할 문자열입니다.

enc: 'UTF-8'과 같이 지원되는 문자 인코딩의 이름입니다.

보고: 번역된 문자열을 반환합니다.

멋진 언어

던지기: 명명된 인코딩 체계가 지원되지 않으면 UnsupportedEncodingException이 발생합니다.

UrlEncoder.java

 import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; public class UrlEncoder { public static void main(String[] args) throws MalformedURLException, UnsupportedEncodingException { String baseUrl = 'https://www.javatpoint.com/'; // String to be encoded as requested by the user String query = ' u@ java T point'; System.out.println(' URL without any encoding : ') ; // creating an object of the URL class URL url = new URL(baseUrl + query) ; System.out.println( url ) ; // using the encode( ) method to encode the URL System.out.println( ' URL after encoding : ' ) ; url = new URL( baseUrl + URLEncoder.encode( query, 'UTF-8' ) ) ; System.out.println( url ) ; } } 

산출:

 URL without any encoding: https://www.javatpoint.com/ u@ java T point URL after encoding: https://www.javatpoint.com/+u%40+java+T+point