【问题标题】:How to find whether a character is GB2312 in javajava中如何判断一个字符是否为GB2312
【发布时间】:2010-10-28 10:25:09
【问题描述】:

我想写一个java函数,比如: 如果GB2312中没有一个字符,则返回false

Boolean isGB2312(String chinese) {
    ......
}

【问题讨论】:

    标签: java gb2312


    【解决方案1】:
    import java.nio.charset.*;
    
    class Some{
    
    public static void main(String args[]) 
     {
    final Charset cs = Charset.forName("GB2312");
    final CharsetEncoder encode = cs.newEncoder();
    System.out.println(encode.canEncode("ダチヂッツヅテデ")); 
     }
    
    }
    

    更新: 作为静态方法:

    final static boolean isGB2312(final String s)
    {
    return java.nio.charset.Charset.forName("GB2312").newEncoder().canEncode(s);
    }
    

    【讨论】:

      【解决方案2】:

      我有一段时间没用Java了,但是我知道Iconv,它可以在有非法字符的时候抛出异常,所以捕获到异常时可以返回false,转换为UTF时返回true- 8 次顺利通过。

      【讨论】:

        猜你喜欢
        • 2010-09-10
        • 1970-01-01
        • 2011-05-31
        • 1970-01-01
        • 1970-01-01
        • 2010-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多