unicode -> 中文
public String unicodeToGbk(String unicodeText) {
Pattern p = Pattern.compile("[u][\\w]{4}");
Matcher m = p.matcher(unicodeText);
StringBuilder sbu = new StringBuilder();
while (m.find()) {
String str = m.group();
System.out.println(str);
sbu.append((char) (Integer.parseInt(str.substring(1), 16)));
}
return sbu.toString();
}
中文 -> unicode
public static String GbkToUnicode(String gbk) {
StringBuilder sbu = new StringBuilder();
for (char c : gbk.toCharArray()) {
sbu.append("\\u").append(Integer.toHexString(c));
}
return sbu.toString();
}
测试
public static void main(String[] args) {
String text = "\\u5f00\\u59cb\\u4efb\\u52a1";
String u2g = Test.unicodeToGbk(text);
System.out.println(u2g);
System.out.println(Test.GbkToUnicode(u2g));
}
结果
开始任务
\u5f00\u59cb\u4efb\u52a1
github 代码 示例