GetEncodingメソッドを利用して下記コード変換を行おうとしています
変換前:Shift-JIS
変換後:Unicode(UTF-16BE BOM無し)
環境はWindowsXP SP2
.NET 2.0.50727
説明を読むと変換は環境に依存するとありますが、上記環境で変換は可能でしょうか?
説明の読み方が足りていません。
Encodingクラスにはサポートされているエンコーディングの一覧が載っていますが、その説明として
次の表は、サポートされているエンコーディングと、それに関連付けられたコード ページの一覧を示しています。最後の列にアスタリスク (*) が付いているコード ページは、基になるプラットフォームに関係なく、.NET Framework でネイティブにサポートされています。
と書かれています。Shift-JIS(932)は日本語OSであればサポートされます。unicodeFFFE(1201)は常にサポートされます。
その上で、Shift-JISが必須なのでしょうか? 実際には「実行しているOSのデフォルトエンコーディング」を必要としていて、それが日本語OSだからShift-JISとなっているに過ぎない、というパターンがよくあります。もしそうであれば、GetEncodingを使わなくてもEncoding.Defaultプロパティで十分です。またUTF-16については特別にクラスが用意されており、UnicodeEncoding コンストラクタ (Boolean, Boolean)を使うことで、ビッグエンディアン・BOM無しを指定できます。