import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringUtil {
/**
* 查看字符串是否合法
* @param str
* @return
*/
public static boolean isFine(String str) {
return str != null && str.length() > 0;
}
/**
* 将GBK转化为ISO-8859-1
* @param para
* @return
*/
public static String gbkToIso(String str) {
try {
return new String(str.getBytes("GBK"), "ISO-8859-1");
} catch (UnsupportedEncodingException e) {
return "";
} catch (Exception e) {
return "";
}
}
/**
* 判断字符串中是否有中文
* @param str
* @return
*/
public static boolean isContainChinaStr(String str) {
if (str == null || str.length() == gbkToIso(str).length())
return false;
return true;
}
/**
* 转化为BASE64Encoder编码
* @param str
* @return
*/
public static String base64Encoder(String str) {
sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
return enc.encode(str.getBytes());
}
/**
* 将字符串里的中文转码
* @param url
* @return
*/
public static String enCodeString(String str){
if(!StringUtil.isFine(str))
return null;
Pattern pattern = Pattern.compile("[/u4e00-/u9fa5]|[/uFF00-/uFFEF]",Pattern.CASE_INSENSITIVE|Pattern.DOTALL);
Matcher m = pattern.matcher(str);
if(m.find()){
int get=m.start();
String suburl=str.charAt(get)+"";
String encodesuburl="";
try{encodesuburl=URLEncoder.encode(suburl,"utf-8");}catch(Exception e){}
str=str.replaceAll(suburl,encodesuburl);
str=enCodeString(str);
}
str=str.replaceAll(" ","20%");
return str;
}
public static void main(String[] args){
}
}
10-04