2013-08-26 47 views

回答

3

對於檢查,如果流是UTF8見:http://utf8checker.codeplex.com/

用於轉換,你可以使用的StreamReader:

new StreamReader(stream, Encoding.UTF8)) 

事實上,採用這種構造器阻止你以前的檢查,你可以使用它。

MSDN:

字符編碼由編碼參數設置,並且 緩衝器大小被設置爲1024個字節。 StreamReader對象嘗試通過查看流的前三個字節來檢測編碼。 如果文件以適當的字節 訂單標記開頭,它會自動識別UTF-8,小端Unicode和 大端Unicode文本。否則,使用用戶提供的編碼。有關更多信息,請參閱 Encoding.GetPreamble方法。

如果您希望它不檢測little-endian的Unicode和大端統一調用下面的構造器:

new StreamReader(stream, Encoding.UTF8, false)) 

false將關閉編碼檢測,因此這個電話將八方通編碼該文件使用UTF 8.