Получить числовую кодовую страницу из объекта java Charset - PullRequest
3 голосов
/ 29 января 2011

Как я могу получить числовой идентификатор кодовой страницы, связанный с объектом Charset в Java (например, 1252)?Я могу вызвать метод displayName (), но он возвращает буквенно-цифровые идентификаторы (например, «windows-1252», «cp-1252», «CP1252», ...), а не только код int.

In.NET существует целочисленное свойство CodePage в классе Encoding, но я не могу найти эквивалентный метод в Java.

Спасибо.

1 Ответ

0 голосов
/ 24 сентября 2012

Из приведенных вами примеров вы можете использовать регулярное выражение:

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);
}
...