Java の Charset オブジェクトに関連付けられた数値コードページ識別子 (つまり 1252) を取得するにはどうすればよいですか? displayName() メソッドを呼び出すことはできますが、int コードだけでなく、英数字の識別子 (「windows-1252」、「cp-1252」、「CP1252」など) を返します。
.NET では、Encoding クラスに整数の CodePage プロパティが存在しますが、Java では同等のメソッドが見つかりません。
ありがとう。
Java の Charset オブジェクトに関連付けられた数値コードページ識別子 (つまり 1252) を取得するにはどうすればよいですか? displayName() メソッドを呼び出すことはできますが、int コードだけでなく、英数字の識別子 (「windows-1252」、「cp-1252」、「CP1252」など) を返します。
.NET では、Encoding クラスに整数の CodePage プロパティが存在しますが、Java では同等のメソッドが見つかりません。
ありがとう。
あなたが与える例から、正規表現を使用することができます:
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);
}