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()
。このメソッドは、使用可能なすべてのエンコーディングを返します。その後、返された配列でエンコーディングを検索できます。