Skip to content

判断str字符串是否包含gbk编码中不存在的字符

/**
 * 判断str字符串是否包含gbk编码中不存在的字符
 * 例如:a/β‑b
 */
public static boolean isHaveSpecial(String str){
    try {
        //首先对str进行解码,字符编码为gbk
        byte[] jiema= str.getBytes("gbk");
        //然后使用gbk编码对byte数组解码,在重新生成字符串
        //在此过程中,如果字符串中包含gbk编码之外的字符,则重新生成的字符串就会和源字符串不一致
        String bianma = new String(jiema,"gbk");
        return bianma.equals(str);
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    return false;
}