0%

Java 汉字转UTF编码的方法

以下方法针对搜狐视频的搜索功能,只转汉字,数字不转。

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