该死的UTF-8

该死的UTF-8
系统国际化最重要的一个方面就是支持多语言。
将中文GB2312转换成UTF-8的方法:

new String(file.getFileName().getBytes(System.getProperty("file.encoding")), "UTF-8")

这里的System.getProperty("file.encoding")是获取系统默认的编码。测试在日文系统下也是可行的。

补充一个UTF-8的转换方法
 1 public   static  String toUtf8String(String s)  {
 2  StringBuffer sb = new StringBuffer();
 3  for (int i = 0; i < s.length(); i++{
 4   char c = s.charAt(i);
 5   if (c >= 0 && c <= 255{
 6    sb.append(c);
 7   }
 else {
 8    byte[] b;
 9    try {
10     b = Character.toString(c).getBytes("utf-8");
11    }
 catch (Exception ex) {
12     System.out.println(ex);
13     b = new byte[0];
14    }

15    for (int j = 0; j < b.length; j++{
16     int k = b[j];
17     if (k < 0)
18      k += 256;
19     sb.append("%" + Integer.toHexString(k).toUpperCase());
20    }

21   }

22  }

23  return sb.toString();
24 }


你可能感兴趣的:(该死的UTF-8)