最近在写一个视频APP,做播放器时发现服务器中视频路径为中文还有很多“《”,“》”,“-”等等这样的特殊符号,安卓播放器无法识别中文字符,所以就想着将路径转码成UTF-8格式的。一般我们都会用到URL或者uri:
Url转码:
path1 ="content/捉妖记.mp4";
try {
path = "http://www.cyvod.net/"+URLEncoder.encode(path1,"UTF-8");
System.out.println("path:"+path);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
uri转码:
path1= "content/《极品家丁》小剧场之三哥tua星语.mp4";
path ="http://www.cyvod.net/"+ Uri.decode(path1);
刚开始的时候自己将整个路径都转码了,结果找不到视频所在位置,自己纠结了好久。后来有人说:你有中文的网址直接在浏览器上可以打开,进行utf-8 编码后也可以打开。想着打不开应该就是转码出错了,后来自己只转码后面服务器中视频的名称就成功了,我想原因应该是自己转码“http://”的时候,浏览器不能识别了。
下面是一个小的demo:http://download.csdn.net/detail/u011961280/9695017