android将十六进制转换为字符

时间:2013-03-09 09:32:56

标签: java android hex

我想知道如何将“\ u106A”转换为“A”或其他内容?我发现以下编码将Hex转换为字符,但它失败了

public static String convertHexToString(String hex){         
  StringBuilder sb = new StringBuilder();
  StringBuilder temp = new StringBuilder();

  for( int i=0; i<hex.length()-1; i+=2 ){
      String output = hex.substring(i, (i + 2));
      int decimal = Integer.parseInt(output, 16);
      sb.append((char)decimal);
      temp.append(decimal);
  }
  return sb.toString();
}

1 个答案:

答案 0 :(得分:1)

您可以使用StringEscapeUtils.unescapeJava Apache库中的Commons Lang

final String input = "\\u0048\\u0065\\u006c\\u006c\\u006f\\u002c\\u0020\\u0057\\u006f\\u0072\\u006c\\u0064\\u0021";
final String output = StringEscapeUtils.unescapeJava(input);

System.out.println("Output : " + output);
// Output : Hello, World!