تم إهمال java.net.URLEncoder.encode(String)، ما الذي يجب أن أستخدمه بدلاً من ذلك؟
-
03-07-2019 - |
سؤال
أحصل على التحذير التالي عند الاستخدام java.net.URLEncoder.encode
:
warning: [deprecation] encode(java.lang.String) in java.net.URLEncoder has been deprecated
ما الذي يجب أن أستخدمه بدلاً من ذلك؟
المحلول
استخدم طريقة encode
آخرين في <لأ href = "http://docs.oracle.com/javase/8/docs/api/java/net/URLEncoder.html#encode-java.lang.String-java. lang.String- "يختلط =" noreferrer "> URLEncoder :
URLEncoder.encode(String, String)
والمعلمة الأولى هو النص لترميز. والثاني هو اسم ترميز الأحرف لاستخدام (على سبيل المثال، UTF-8
). على سبيل المثال:
System.out.println(
URLEncoder.encode(
"urlParameterString",
java.nio.charset.StandardCharsets.UTF_8.toString()
)
);
نصائح أخرى
ويجب عليك استخدام:
URLEncoder.encode("NAME", "UTF-8");
استخدم الفصل URLEncoder:
URLEncoder.encode(String s, String enc)
أين :
س - السلسلة المراد ترجمتها.
إنك - اسم مدعوم ترميز الأحرف.
مجموعات الأحرف القياسية:
الولايات المتحدة-ASCII ASCII ذو سبعة بتات، ويعرف أيضًا باسم.ISO646-الولايات المتحدة، ويعرف أيضًا باسم.الكتلة اللاتينية الأساسية لمجموعة أحرف Unicode ISO-8859-1 ISO Alphabet No.1 ، الملقب.آيزو-لاتين-1
ترميز UTF-8 تنسيق تحويل UCS ذو ثمانية بتات
UTF-16BE تنسيق تحويل UCS ذو ستة عشر بت، ترتيب بايت كبير
UTF-16LE تنسيق تحويل UCS ذو ستة عشر بت، ترتيب بايت صغير
UTF-16 تنسيق تحويل UCS ذو ستة عشر بت، يتم تحديد ترتيب البايت بواسطة علامة ترتيب البايت الاختيارية
مثال:
import java.net.URLEncoder;
String stringEncoded = URLEncoder.encode(
"This text must be encoded! aeiou áéíóú ñ, peace!", "UTF-8");
والمعلمة الأولى هي سلسلة لترميز. والثاني هو اسم ترميز الأحرف لاستخدام (على سبيل المثال، UTF-8).
كمرجع إضافي للإجابات الأخرى، بدلا من استخدام "UTF-8" يمكنك استخدام:
HTTP.UTF_8
والذي تم تضمينه منذ Java 4 كجزء من مكتبة org.apache.http.protocol، والذي تم تضمينه أيضًا منذ Android API 1.