2013-08-19 5 views
12

की आवश्यकता है क्योंकि शीर्षक कहता है: + के विपरीत कौन सा एन्कोडर मुझे %20 के रूप में स्थान देगा? मुझे एंड्रॉइड के लिए इसकी ज़रूरत है। java.net.URLEncoder.encode +java.net.URLEncoder.encode एन्कोड स्पेस के रूप में + लेकिन मुझे% 20

उत्तर

2

आपको + को अपने आप से बदलना होगा।

उदाहरण:

System.out.println(java.net.URLEncoder.encode("Hello World", "UTF-8").replace("+", "%20")); 

इस पोस्ट में और अधिक देखने के लिए: जो आप इस्तेमाल कर सकते हैं Uri वर्ग

URLEncoder not able to translate space character

25

एंड्रॉयड यह स्वयं की है।

उदा।

String url = Uri.parse("http://www.google.com").buildUpon() 
    .appendQueryParameter("q", "foo bar") 
    .appendQueryParameter("xml", "<Hellö>") 
    .build().toString(); 

परिणाम

http://www.google.com?q=foo%20bar&xml=%3CHell%C3%B6%3E

Uri में एन्कोड '%' के रूप में दिया स्ट्रिंग में वर्णों - UTF-8 योजना का उपयोग कर ओक्टेट्स भाग निकले। अक्षरों को छोड़ देता है ("ए-जेड", "ए-जेड"), संख्याएं ("0-9"), और अनारक्षित वर्ण ("_- !. ~ '() *") बरकरार है।

नोट: केवल _-.* को URLEncoder द्वारा अनारक्षित वर्ण माना जाता है। !~'()%21%7E%27%28%29 में परिवर्तित हो जाएगा।

संबंधित मुद्दे