.NET コンソール アプリケーションが入力ファイルを読み取る際に使用するエンコーディングを設定するにはどうすればよいですか?
私は UTF16 ファイルを持っていますが、呼び出すConsole.ReadLine
と、エンコーディングが適切に監視されていないことが明らかです。その呼び出しからの文字列は見栄えが悪いです。
Sublime Text 2 は、ファイルが次のようにエンコードされていることを報告します。
UTF-16 LE with BOM
コードは次のとおりです。
pstrLine = Console.ReadLine() //bad line here
Do
pactHandler(pstrLine)
pstrLine = Console.ReadLine()
Loop Until pstrLine Is Nothing
セリフが返ってきて読めるが、ちょっと違う。すべての文字の間にスペースがあるようです。そして、行は印刷できない文字で始まります。
入力ファイルを見ると、次のようになります。
MY DATA IS HERE
経由で入ってくる場合ReadLine
:
$M Y D A T A I S H E R E
$
ブロックのように見える印刷できない文字を表します。