我不完全確定我完全理解文件編碼。如果我用c#將文本寫入文件,我該如何設置該文件的編碼類型?也許這只是我不明白文件編碼的全部範圍。如何設置一個文件的編碼,當它寫在c#中?
using (var sw = new StreamWriter(File.Open(@"c:\test.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1")))
{
sw.WriteLine("my text...");
}
我不完全確定我完全理解文件編碼。如果我用c#將文本寫入文件,我該如何設置該文件的編碼類型?也許這只是我不明白文件編碼的全部範圍。如何設置一個文件的編碼,當它寫在c#中?
using (var sw = new StreamWriter(File.Open(@"c:\test.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1")))
{
sw.WriteLine("my text...");
}
您的代碼正是這麼做的 - 你正在使用ISO拉丁1
注意,沒有什麼文件本身中指定編碼,除非你寫了一個文件,該文件允許寫出文字你要指定。該文件基本上只是一個字節序列。您在代碼中指定的編碼決定了您正在編寫的文本如何轉換爲字節,就這些了。
使用接受的Encoding
參數,你已經做了,將編碼設置爲一個你喜歡的constructor。
像這樣的事情
using (var sw = new StreamWriter(fileName, true, System.Text.Encoding.UTF8,512);
{
sw.WriteLine(""text here);
}
你真的應該讀的可用重載構造! – sra
_「也許這只是我不明白文件編碼的全部範圍。」_然後讓自己成爲[閱讀](http://www.joelonsoftware.com/articles/Unicode.html)。 :-) – CodeCaster
您的代碼已經設置了編碼。那麼你真正的問題是什麼? – CodesInChaos