以下方法针对搜狐视频的搜索功能,只转汉字,数字不转。
public static String toUtf(String source) {
char[] cs = source.toCharArray();
StringBuffer sb = new StringBuffer();
for (char c : cs) {
if (Character.isDigit(c)) {
sb.append(c);
//数字不转
} else {
String s = Integer.toHexString(c).toUpperCase();
if (s.length() == 4) {
sb.append("%u" + s);
} else {
//不足4位不加u
sb.append("%" + s);
}
}
}
return sb.toString();
}