如何在java中查找字符是否为GB2312

时间:2010-10-28 10:25:10

标签: java gb2312

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

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

2 个答案:

答案 0 :(得分:3)

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);
}

答案 1 :(得分:0)

我暂时没有使用Java,但我知道Iconv,当有非法字符时可以抛出异常,所以你可以在捕获异常时返回false,并在转换为UTF时返回true 8经历了没有问题。