0

我想知道如何将“\u106A”转换为“A”或其他什么?我发现以下编码将十六进制转换为字符,但它失败了

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();
}
4

1 回答 1

1

您可以StringEscapeUtils.unescapeJavaCommons LangApache 库中使用。

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!
于 2013-03-09T09:50:26.827 回答