我有一个读取用户输入'encodingString'然后使用
编码文件的方法Encoding.GetEncoding(string encodingString)
如果不是有效的encodingString
,此方法将引发异常。
如何使用最简单的方法检查encodingString
是否是有效的代码页?我可以使用Encoding.getencodings
方法并检查它是否有我们的编码。但有更简单的方法吗?
答案 0 :(得分:0)
但是有更简单的方法吗?
基本上没有。 如果您需要验证编码名称是否有效,则可以
Encoding.GetEncodings()
加载所有编码 - 但是您需要注意名称/代码页/显示名称/等。在try\catch
块内解析 - 如果失败,则100%确定它无效。即使丑陋,在你的情况下仍然可行
try
{
var encoding = Encoding.GetEncoding(string encodingString);
}
catch(Exception ex)
{
throw new InvalidEncodingException(encodingString);
}