2011-11-18 50 views
-2

我不完全確定我完全理解文件編碼。如果我用c#將文本寫入文件,我該如何設置該文件的編碼類型?也許這只是我不明白文件編碼的全部範圍。如何設置一個文件的編碼,當它寫在c#中?

using (var sw = new StreamWriter(File.Open(@"c:\test.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1"))) 
{ 
    sw.WriteLine("my text..."); 
} 
+0

你真的應該讀的可用重載構造! – sra

+1

_「也許這只是我不明白文件編碼的全部範圍。」_然後讓自己成爲[閱讀](http://www.joelonsoftware.com/articles/Unicode.html)。 :-) – CodeCaster

+0

您的代碼已經設置了編碼。那麼你真正的問題是什麼? – CodesInChaos

回答

3

您的代碼正是這麼做的 - 你正在使用ISO拉丁1

注意,沒有什麼文件本身中指定編碼,除非你寫了一個文件,該文件允許寫出文字你要指定。該文件基本上只是一個字節序列。您在代碼中指定的編碼決定了您正在編寫的文本如何轉換爲字節,就這些了。

2

使用接受的Encoding參數,你已經做了,將編碼設置爲一個你喜歡的constructor

0

像這樣的事情

using (var sw = new StreamWriter(fileName, true, System.Text.Encoding.UTF8,512); 
{ 
    sw.WriteLine(""text here); 
} 
相關問題