C#でUTF8の文字列を変換

外部コマンドなどでUTF8のメッセージを返すようなプログラムの標準出力をうけとった場合、そのままではShift_JISとして解釈できずに文字化けてしまうので下記の変換をかまします。

//stringUTF8に何らかUTF8の文字列が入ってくる
string stringUTF8 = someFunctionReturnsUtf8();

//まずはバイト配列に変換する
byte[] bytesUTF8 = System.Text.Encoding.Default.GetBytes(stringUTF8);

//バイト配列をUTF8の文字コードとしてStringに変換する
string stringSJIS = System.Text.Encoding.UTF8.GetString(bytesUTF8);