abc = Encoding.GetEncoding("xyz"); //Throws exception if xyz non existing.
有没有办法尝试编码或者你必须捕获异常?
abc = Encoding.GetEncoding("xyz"); //Throws exception if xyz non existing.
有没有办法尝试编码或者你必须捕获异常?
您可以Encoding.GetEncodings
先使用,然后尝试找到与名称匹配的:
var encodingInfo = Encoding.GetEncodings()
.FirstOrDefault(info => info.Name == targetName);
if (encodingInfo != null)
{
Encoding encoding = encodingInfo.GetEncoding();
...
}
else
{
...
}
如果您定期执行此操作,您可能希望构建一个名称/编码字典一次,然后TryGetValue
在其上使用。
你可以使用Encoding.GetEncodings()
方法。该方法返回所有可用的编码。然后,您可以在返回的数组中查找编码。