我正在使用這種方法來寫入一個MemoryStream對象,隨後在SQL中存儲一個二進制文件。它正用於從Windows上的文件系統中讀取.HTML文件。FileInfo.OpenRead() - 它使用什麼類型的編碼?
我怎麼知道這個數據被讀入哪種類型的編碼?謝謝。
我正在使用這種方法來寫入一個MemoryStream對象,隨後在SQL中存儲一個二進制文件。它正用於從Windows上的文件系統中讀取.HTML文件。FileInfo.OpenRead() - 它使用什麼類型的編碼?
我怎麼知道這個數據被讀入哪種類型的編碼?謝謝。
無,因爲它打開了一個二進制流。當你例如將流封裝到StreamReader
,這是您選擇編碼的時刻。由OpenRead
方法返回的FileStream
本身不是基於文本的,因此沒有編碼。
FileInfo.OpenRead
返回一個未使用任何編碼的原始流(因爲它返回字節而不是字符)。
編碼用於將原始字節轉換爲Unicode字符。
在.Net中,編碼由StreamReader
和StreamWriter
類使用,它們使用字符串而不是字節。