1

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

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

2 回答 2

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);
}
于 2010-10-28T11:06:29.067 回答
0

好久没用Java了,但是我知道Iconv,它可以在有非法字符的时候抛出异常,所以你可以在捕获到异常的时候返回false,在转成UTF-8的时候返回true没有问题。

于 2010-10-28T11:04:49.147 回答