从java Charset对象获取数字代码页

时间:2011-01-28 21:00:17

标签: java encoding character-encoding codepages

如何在java中获取与Charset对象关联的数字代码页标识符(即1252)?我可以调用displayName()方法,但它返回字母数字标识符(如“windows-1252”,“cp-1252”,“CP1252”,...),而不仅仅是int代码。

在.NET中,在Encoding类中存在一个整数CodePage属性,但我找不到Java中的等效方法。

感谢。

1 个答案:

答案 0 :(得分:0)

根据您提供的示例,您可以使用正则表达式:

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