Programing

java.net.URLEncoder.encode(스트링)가 더 이상 사용되지 않는데, 그 대신 무엇을 사용해야 하는가?

c10106 2022. 5. 24. 22:51
반응형

java.net.URLEncoder.encode(스트링)가 더 이상 사용되지 않는데, 그 대신 무엇을 사용해야 하는가?

사용할 때 다음 경고가 표시됨java.net.URLEncoder.encode:

경고: [decompression] encode(incode, encode.csv.문자열)java.net에서.URLEncoder가 더 이상 사용되지 않음

내가 대신 무엇을 사용해야 할까?

다른 것을 사용하라.encodeURLEncoder의 방법:

URLEncoder.encode(String, String)

첫 번째 매개 변수는 인코딩할 텍스트, 두 번째 매개 변수는 사용할 문자 인코딩 이름(예:UTF-8예:

System.out.println(
  URLEncoder.encode(
    "urlParameterString",
    java.nio.charset.StandardCharsets.UTF_8.toString()
  )
);

다음을 사용하십시오.

URLEncoder.encode("NAME", "UTF-8");

클래스 URLN코더 사용:

URLEncoder.encode(String s, String enc)

위치:

s - 변환할 문자열.

enc - 지원되는 문자 인코딩의 이름.

표준 문자 집합:

US-ASCII 7비트 ASCII, a.k.a. ISO646-US, a.k.a. 유니코드 문자 집합의 기본 라틴어 블록 ISO-8859-1 ISO 라틴 문자 번호 1번, a.k.a. ISO-LATIN-1

UTF-8 8비트 UCS 변환 형식

UTF-16BE 16비트 UCS 변환 형식, 빅 엔디안 바이트 순서

UTF-16LE 16비트 UCS 변환 형식, little-endian 바이트 순서

UTF-16 16비트 UCS 변환 형식, 바이트 순서(옵션)로 식별됨

예:

import java.net.URLEncoder;

String stringEncoded = URLEncoder.encode(
    "This text must be encoded! aeiou áéíóú ñ, peace!", "UTF-8");

첫 번째 매개 변수는 인코딩할 문자열이고, 두 번째 매개 변수는 사용할 문자 인코딩 이름(예: UTF-8)이다.

의 사용법org.apache.commons.httpclient.URI엄밀히 따지면 문제가 되지 않는다; 문제는 당신이 감가상각되는 잘못된 시공자를 목표로 한다는 것이다.

그냥 사용

new URI( [string] );

그것은 정말로 감가상각된 것으로 표시될 것이다.필요한 것은 최소한 하나의 추가 논거(첫 번째, 아래의 논거)와 이상적으로 두 가지 논거를 제공하는 것이다.

  1. escaped: URI 문자열이 이스케이프 형식인 경우 true이고, 그렇지 않은 경우 true.
  2. charset: 필요한 경우 이스케이프 인코딩을 수행할 문자 집합 문자열

이것은 그 등급의 비평가된 시공자를 대상으로 할 것이다.따라서 이상적인 용법은 다음과 같다.

new URI( [string], true, StandardCharsets.UTF_8.toString() );

게임에서 좀 늦었지만(11년 이상 지난 머리카락 - 예!) 이것이 다른 누군가에게 도움이 되었으면 좋겠는데, 특히 맨 끝의 방법이 여전히 URI와 같은 것을 기대하고 있다면 더욱 그러하다.org.apache.commons.httpclient.setURI().

다른 응답에 대한 추가 참조로 "UTF-8"을 사용하는 대신 다음을 사용할 수 있다.

HTTP.UTF_8

이는 Java 4 이후부터 org.apache.http.protocol 라이브러리의 일부로 포함되며, Android API 1 이후도 포함된다.

참조URL: https://stackoverflow.com/questions/213506/java-net-urlencoder-encodestring-is-deprecated-what-should-i-use-instead

반응형