4

Java の Charset オブジェクトに関連付けられた数値コードページ識別子 (つまり 1252) を取得するにはどうすればよいですか? displayName() メソッドを呼び出すことはできますが、int コードだけでなく、英数字の識別子 (「windows-1252」、「cp-1252」、「CP1252」など) を返します。

.NET では、Encoding クラスに整数の CodePage プロパティが存在しますが、Java では同等のメソッドが見つかりません。

ありがとう。

4

1 に答える 1

1

あなたが与える例から、正規表現を使用することができます:

private static final Pattern NUMERIC_CODEPAGE_PATTERN = Pattern.compile("[^\\d]*(\\d+)");

...

String displayName = charSet.displayName();
Matcher matcher = NUMERIC_CODEPAGE_PATTERN.matcher(displayName);
if(matcher.matches())
{
  String numericCodeString = matcher.group(1);
  int numericCode = Integer.parseInt(numericCodeString);
}
于 2012-09-24T19:49:54.150 に答える