可可果

哈利是一只有白点的黑狗

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
 1     /**
 2      *  把字符串转成utf8编码,保证中文文件名不会乱码
 3      * @param s
 4      * @return
 5      */
 6     public static String toUtf8String(String s){
 7         StringBuffer sb = new StringBuffer();
 8         for (int i=0;i<s.length();i++){
 9             char c = s.charAt(i);
10             if (c >= 0 && c <= 255){sb.append(c);}
11             else{
12                 byte[] b;
13                 try { b = Character.toString(c).getBytes("utf-8");}
14                 catch (Exception ex) {
15                     System.out.println(ex);
16                     b = new byte[0];
17                 }
18                 for (int j = 0; j < b.length; j++) {
19                     int k = b[j];
20                     if (k < 0) k += 256;
21                     sb.append("%" + Integer.toHexString(k).toUpperCase());
22                 }
23             }
24         }
25         return sb.toString();
26     }
posted on 2007-12-10 10:51  可可果  阅读(4042)  评论(3编辑  收藏  举报