以编程方式检查是否支持编码

时间:2013-07-08 09:54:09

标签: java encoding character-encoding

有没有办法找出是否支持编码? E. g。像这样的方法:

isSupported("UTF-8") == true

isSupported("UTF-13") == false

我需要这个来验证我的MimeMessages的Content-Disposition-Header是否正确。

2 个答案:

答案 0 :(得分:10)

尝试以下方法:

Charset.isSupported("UTF-8")

当名称为RuntimeException或名称无效时,此方法可能会抛出null

答案 1 :(得分:6)

boolean isCharsetSupported(String name) {
  try {
    Charset.forName(name);
    return true;
  } catch (UnsupportedCharsetException | IllegalCharsetNameException | IllegalArgumentException e) {
    return false;
  }
}

或没有try/catch块:

boolean isCharsetSupported(String name) {
    return Charset.availableCharsets().keySet().contains(name);
}