【发布时间】:2014-07-16 21:27:03
【问题描述】:
我正在尝试获取 java 转义码。
示例:1F612 ==> \ud83d\ude12
我试过了:
String toConvert = "\ud83d\ude12";
String result = "";
for(int x=0;x<toConvert.length();x++){
int codePoint = Character.codePointAt(toConvert, x);
String hexStr = Integer.toHexString(codePoint);
hexStr = formatUTF(hexStr);
result += hexStr;
}
System.out.println(result);
格式化UTF函数:
public static String formatUTF(String hex){
String text = hex;
for(int x = 0; x<4-hex.length();x++)
text = "0"+text;
return "\\u"+text;
}
但是输出:
run:
\u1f612\ude12
注意:1F612Hex = 128530Integer
请帮忙。
【问题讨论】: