SRa*_*Ram 32 java android urlencode
我有一个xml URL文件,其中有空格我想用%20替换空格..怎么做????
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
/** Send URL to parse XML Tags */
URL sourceUrl = new URL(
"http://www.arteonline.mobi/iphone/output.php?gallery=MALBA%20-%20MUSEO%20DE%20ARTE%20LATINOAMERICANO%20DE%20BUENOS%20AIRES");
XMLHandlerartistspace myXMLHandler = new XMLHandlerartistspace();
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(sourceUrl.openStream()));
Run Code Online (Sandbox Code Playgroud)
Sum*_*ant 52
试试这个:
String temp = http://www.arteonline.mobi/iphone/output.php?gallery=MALBA%20-%20MUSEO%20DE%20ARTE%20LATINOAMERICANO%20DE%20BUENOS%20AIRES
temp = temp.replaceAll(" ", "%20");
URL sourceUrl = new URL(temp);
Run Code Online (Sandbox Code Playgroud)
sud*_*ode 34
构建URL时,应使用URLEncoder对参数进行编码.
StringBuilder query = new StringBuilder();
query.append("gallery=");
query.append(URLEncoder.encode(value, "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
如果您已经在String或java.net.URL中拥有整个URL,则可以获取查询部分并在URLEncoding每个参数值时重建.
小智 12
只是sudocode响应的一个补充:
使用android.net.Uri.encode而不是URLEncoder.encode来避免"空间转换成+"问题.然后你摆脱了String.replaceAll(),它更优雅:)
StringBuilder query = new StringBuilder();
query.append("gallery=");
query.append(android.net.Uri.encode(value, "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38446 次 |
| 最近记录: |