怎样将Url中的中文转为为UTF-8
Android开发的时候可能会遇到,有些请求的url,如:图片,视频url等,它们的url中带中文,我们必须要把url中的中文转化为UTF-8,代码如下:
/**
* 开启图片加载
* @param url
* @param listener
* @param errorListener
*/
public static void startImgConnecting(String url, Response.Listener<Bitmap> listener, Response.ErrorListener errorListener){
if(mRequestQueue == null || StrUtil.isBlank(url)){
return ;
}
//中文的utf-8范围
Pattern p = Pattern.compile("[\\u4e00-\\u9fa5]");
//找到中文url中的中文
Matcher m = p.matcher(url);
//依次递推,查找下一个单个文字,然后把他替换成utf-8
while(m.find()){
String group = m.group();
try {
url = url.replaceFirst(group, URLEncoder.encode(group, "utf-8"));
} catch (Exception e) {
// do nothing
}
}
mRequestQueue.add(new ImgRequest(url,listener,errorListener));
}
mRequestQueue是volley网络通信开源库中的线程请求队列,系统会一次在这个队列中取出线程去实现加载功能。相信大家都知道吧。