public static String commonSubString(String str,int length) throws UnsupportedEncodingException {
        byte[] bytes=str.getBytes();
        int i=2; //前两个字节是标志位，从第三个字节开始截取
        int n=0; //表示当前字节数
        for(;i<bytes.length && n < length;i++ ){
            //奇数位置，如3,5,7...为USC2编码中两个字节的第二个字节
            if(i%2 == 1){
                n++;
            }else {
                //如果第一个位置上不为零，表示为中文,占两个字节
                if(bytes[i] != 0){
                    n++;
                }
            }
        }
        //截取一半的汉子保留
        if(i%2==1){
            i=i+1;
        }
        return new String(bytes,0,i,"Unicode");

    }