检查编码名称是否有效

时间:2015-11-10 10:02:45

标签: c# encoding

我有一个读取用户输入'encodingString'然后使用

编码文件的方法
Encoding.GetEncoding(string encodingString)

如果不是有效的encodingString,此方法将引发异常。 如何使用最简单的方法检查encodingString是否是有效的代码页?我可以使用Encoding.getencodings方法并检查它是否有我们的编码。但有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

  

但是有更简单的方法吗?

基本上没有。 如果您需要验证编码名称是否有效,则可以

  • 通过Encoding.GetEncodings()加载所有编码 - 但是您需要注意名称/代码页/显示名称/等。
  • try\catch块内解析 - 如果失败,则100%确定它无效。即使丑陋,在你的情况下仍然可行

    try
    {
     var encoding = Encoding.GetEncoding(string encodingString); 
    }
    catch(Exception ex)
    {
        throw new InvalidEncodingException(encodingString);
    }