मैं जावा कोड के विभिन्न बिट्स के साथ प्रयोग कर रहा हूं, जो कि एक स्ट्रिंग के साथ आने की कोशिश कर रहा है जो उद्धरण, रिक्त स्थान और "विदेशी" यूनिकोड वर्णों को एन्कोड करेगा और जावास्क्रिप्ट के एन्कोडर्कोम्पोनेंट फ़ंक्शन के समान आउटपुट का उत्पादन करेगा ।
मेरा यातना परीक्षण स्ट्रिंग है: "ए" बी is "
अगर मैं फायरबग में निम्नलिखित जावास्क्रिप्ट स्टेटमेंट दर्ज करता हूं:
encodeURIComponent('"A" B ± "');
-तब मुझे मिलता है:
"%22A%22%20B%20%C2%B1%20%22"
यहाँ मेरा थोड़ा परीक्षण जावा कार्यक्रम है:
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class EncodingTest
{
public static void main(String[] args) throws UnsupportedEncodingException
{
String s = "\"A\" B ± \"";
System.out.println("URLEncoder.encode returns "
+ URLEncoder.encode(s, "UTF-8"));
System.out.println("getBytes returns "
+ new String(s.getBytes("UTF-8"), "ISO-8859-1"));
}
}
-यह कार्यक्रम आउटपुट:
URLEncoder.encode% 22A% 22 + B +% C2% B1 +% 22 देता है getBytes रिटर्न "A" B ""
नजदीक पर बिना सिगार के! जावा का उपयोग करके UTF-8 स्ट्रिंग को एन्कोडिंग का सबसे अच्छा तरीका क्या है ताकि यह जावास्क्रिप्ट के समान आउटपुट का उत्पादन करे encodeURIComponent
?
संपादित करें: मैं जल्द ही जावा 1.4 का उपयोग जावा 5 में कर रहा हूँ।