【发布时间】:2010-10-28 10:25:09
【问题描述】:
我想写一个java函数,比如: 如果GB2312中没有一个字符,则返回false
Boolean isGB2312(String chinese) {
......
}
【问题讨论】:
我想写一个java函数,比如: 如果GB2312中没有一个字符,则返回false
Boolean isGB2312(String chinese) {
......
}
【问题讨论】:
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);
}
【讨论】:
我有一段时间没用Java了,但是我知道Iconv,它可以在有非法字符的时候抛出异常,所以捕获到异常时可以返回false,转换为UTF时返回true- 8 次顺利通过。
【讨论】: