1

次のような Java 関数を書きたいと思います: 1 つの文字が 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 に答える