经典java转码程序,实现和 jdk\bin\native2ascii.exe 同样的功能

实例一个用途:用于在log4j.properties配置中需要输入中文时,将中文转换为unicode编码

public static String convert(String str){
  String tmp;
  StringBuffer sb = new StringBuffer(1000);
  char c;
  int i, j;
  sb.setLength(0);
  for(i = 0;i<str.length();i++){
   c = str.charAt(i);
   if (c > 255) {
    sb.append("\\u");
    j = (c >>> 8);
    tmp = Integer.toHexString(j);
    if (tmp.length() == 1) sb.append("0");
    sb.append(tmp);
    j = (c & 0xFF);
    tmp = Integer.toHexString(j);
    if (tmp.length() == 1) sb.append("0");
    sb.append(tmp);
   }else{
    sb.append(c);
   }
  }
  return (new String(sb));
 }

public static void main(String[] args) {
  String str="项目log4j日志";
  System.out.println(convert(str));//输出\u9879\u76eelog4j\u65e5\u5fd7
 }

你可能感兴趣的:(经典java转码程序,实现和,同样的功能)