博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符乱码的问题
阅读量:6957 次
发布时间:2019-06-27

本文共 2080 字,大约阅读时间需要 6 分钟。

  hot3.png

/**     * 判断字符是否是中文     *     * @param c 字符     * @return 是否是中文     */    public static boolean isChinese(char c) {        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);        if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS                || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {            return true;        }        return false;    }    public static String enANum = "^[\\^\\w+-=*/%&$#@<>(){}\\[\\],.:;\"\'\\\\]*$";    public static Pattern enANumPat = Pattern.compile(enANum);    public static String [] encode = {"GB2312","GBK","ISO-8859-1","UTF-8"};        public static boolean isEnglishAndNumber(String str) {        Matcher matcher = null;        String temp[] = str.split("");        for (String s : temp) {            matcher = enANumPat.matcher(s);            if(!matcher.find()){                return false;            }        }        return true;    }    public static String getUnEncode(String str) throws Exception {        String newStr = null;        if (!isEnglishAndNumber(str)) {            for (int i = 0; i < encode.length; i++) {                for (int j = 0; j < encode.length; j++) {                    newStr = new String(str.getBytes(encode[i]), encode[j]);                    char temp[] = newStr.toCharArray();                    boolean isAll = true;                    for (char c : temp) {                        if (!isEnglishAndNumber(String.valueOf(c)) && !isChinese(c)) {                            isAll = false;                            break;                        }                    }                    if (isAll) {                        return newStr;                    }                }            }        }        return str;    }

转载于:https://my.oschina.net/rwrwd7/blog/534127

你可能感兴趣的文章
stage3D基础一-----Stage3D如何工作(转)
查看>>
[WorldWind学习]11.TerrainViewer插件和双线程
查看>>
hdu 1827 有向图缩点看度数
查看>>
Struct2(五)处理表单
查看>>
最大子序列
查看>>
Python基础(八)
查看>>
初次接触博客园
查看>>
python Super
查看>>
操作变量实际是通过地址来操作内存空间
查看>>
一些总结
查看>>
在windows 系统中搭建Python编程环境
查看>>
Javascript 引用类型
查看>>
webpack4 打包多页面应用
查看>>
[PAT乙级题解]——试密码
查看>>
Python 正则处理_re模块
查看>>
JavaScript获取浏览器语言
查看>>
CodeForces 590A Median Smoothing
查看>>
linux下查看运行进程详细信息
查看>>
[转载] 财经郎眼20120109:蒙牛的秘密
查看>>
[转载] 羽毛球——学打羽毛球 04 正手发高远球
查看>>