में URLEncoder एन्कोड/URLDecoder डीकोड मैं एक अनुप्रयोग और विधियों में URLEncoder/URLDecoder क्लास (java.net.URLEncoder/URLDecoder) का उपयोग करना चाहता हूं: एन्कोड (स्ट्रिंग एस, स्ट्रिंग एन्क)/डीकोड (स्ट्रिंग एस, स्ट्रिंग एन्क), लेकिन मुझे नहीं पता कि स्ट्रिंग तर्क एन्क का मूल्य क्या हो सकता है? मैं "x-www-form-urlencoded" एमआईएम सामग्री प्रकार में एन्कोड/डीकोड करना चाहता हूं। आपकी मदद के लिए धन्यवाद।जावा (एंड्रॉइड)
उत्तर
एन्कोडिंग पैरामीटर आपके द्वारा उपयोग किए जा रहे वर्ण एन्कोडिंग है। For example "UTF-8"
।
JavaDoc सभी विवरण
जावाडॉक में सभी संभावित एन्कोडिंग प्रारूपों का उल्लेख नहीं है और न ही मुझे एक एक ईएनएन से लिंक जो उन्हें सूचीबद्ध कर सकता है। – anon58192932
सबसे पहले आप एक 'एक्स-www फार्म-urlencoded' के रूप में सामग्री प्रकार निर्धारित करने की आवश्यकता है। फिर आप जो भी सामग्री एन्कोड करना चाहते हैं, उसे "यूटीएफ -8" का उपयोग करके एन्कोड करें।
उदाहरण के लिए:
करने के लिए सामग्री की स्थापना के लिए 'x-www फार्म-urlencoded':
URL url = new URL("http://www.xyz.com/SomeContext/SomeAction"); <br>
URLConnection urlConnection = url.openConnection();<br>
....<br>
....<br>
urlConnection.setRequestProperty("Content-type","application/x-www-form-urlencoded");
या यदि आप कुछ JSP उपयोग कर रहे हैं तो आप पर निम्नलिखित लिख सकते हैं इसके ऊपर
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><br>
< META http-equiv="Content-Type" content="text/html; charset=UTF-8">
< FORM action="someaction.jsp" enctype="application/x-www-form-urlencoded" name="InputForm" method="POST">
और URLEncoder उपयोग करने के लिए:
String encodedString = URLEncoder.encode("hello","UTF-8");
मैंने किया है: - एचटीपी पोस्ट पोस्ट = नया एचटीपीपोस्ट ("यूआरएल"); - post.setHeader ("सामग्री-प्रकार", "एप्लिकेशन/एक्स-www-form-urlencoded"); - स्ट्रिंग एन्कोडेडस्ट्रिंग = URLEncoder।सांकेतिक शब्दों में बदलना ("हैलो", "UTF-8"); - स्ट्रिंग एंटीटी टेम्प; - temp.setContentEncoding (एन्कोडेड स्ट्रिंग); - post.setEntity (temp); और फिर तर्क के लिए पोस्ट के साथ एक डिफ़ॉल्टHttpClient निष्पादित करें। –
आपके उत्तर के लिए धन्यवाद! –
आशा है कि अब यह काम कर रहा है! – Sourabh
URLEncoder
और URLDecoder
दोनों अपवाद Throwable
हैं और इस प्रकार कम से कम आज़माएं/कैच ब्लॉक द्वारा सीमित होने चाहिए। लेकिन वहाँ से थोड़ा अधिक बिट सरल तरीका android.net.Uri
उपयोग कर रहा है:
Uri.decode(string);
Uri.encode(string);
उन स्थिर तरीके हैं, एपीआई -1 के बाद से UTF-8, उपलब्ध का उपयोग करता है और कोई अपवाद नहीं फेंकता है।
मेरा व्यक्तिगत पसंदीदा:
static String baseNameFromURL(URL url) {
String shortName;
String path = url.getPath();
String escaped = path.substring(path.lastIndexOf('/') + 1);
try {
shortName = URLDecoder.decode(escaped, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new Error(e.getMessage(), e);
}
int period = shortName.lastIndexOf('.');
return period > -1 ? shortName.substring(0, period) : shortName;
}
एक खाली स्ट्रिंग रिटर्न यदि URL https://stackoverflow.com/
या https://stackoverflow.com/questions/
की तरह एक फ़ाइल नाम हिस्सा नहीं है,। अगर फ़ाइल नाम भाग में बैकस्लैश है, तो यह संरक्षित है।
यदि आपको इसके बजाय विस्तार के साथ संक्षिप्त नाम की आवश्यकता है तो आप अंतिम दो पंक्तियों को बंद कर सकते हैं।
- 1. जावा/एंड्रॉइड
- 2. जावा/एंड्रॉइड
- 3. जावा-एंड्रॉइड
- 4. एंड्रॉइड - जावा
- 5. जावा/एंड्रॉइड
- 6. एंड्रॉइड (जावा)
- 7. जावा (एंड्रॉइड)
- 8. जावा/एंड्रॉइड
- 9. जावा-एंड्रॉइड
- 10. एंड्रॉइड जावा
- 11. जावा/एंड्रॉइड
- 12. एंड्रॉइड-जावा- ऑब्जेक्ट
- 13. एंड्रॉइड/जावा: अधिकतम MAX_value
- 14. एंड्रॉइड: जावा कोड
- 15. एंड्रॉइड: जावा वी। पायथन
- 16. एंड्रॉइड - जावा - गिनती शब्द
- 17. एंड्रॉइड जावा स्ट्रिंग
- 18. जावा/एंड्रॉइड - स्ट्रिंग स्कीमा
- 19. एंड्रॉइड/जावा और सी #
- 20. जावा/एंड्रॉइड xml
- 21. एंड्रॉइड/जावा प्राप्त करें
- 22. जावा/एंड्रॉइड यूआरएल
- 23. जावा में मौन एंड्रॉइड फोन
- 24. एंड्रॉइड, जावा - एक वीडियो (Xuggler)
- 25. एंड्रॉइड/जावा से आरओआर कैरियरवेव
- 26. एंड्रॉइड, जावा: HTTP पोस्ट अनुरोध
- 27. जावा/एंड्रॉइड - फास्ट बाइटबफर पार्सिंग
- 28. जावा से एंड्रॉइड ऑडियोट्रैक एपीआई
- 29. एंड्रॉइड में सी ++ बनाम जावा
- 30. सरल थ्रेड प्रबंधन - जावा - एंड्रॉइड
तो मुझे इसे इस तरह लिखना है: एन्कोड ("हैलो", "एक्स-www-form-urlencoded") या "x-www-form-urlencoded" के लिए यह एन्कोड ("हैलो", "यूटीएफ -8 ")? –
आपको एन्कोड ("हैलो", "यूटीएफ -8") लिखना है। एक्स-www-form-urlencoded हमेशा परिणाम का प्रकार है। एन्कोडिंग पैरामीटर आपके इनपुट डेटा को संदर्भित करता है। – jgre
आपके उत्तर के लिए धन्यवाद! –