如何通過代碼更改文本文件編碼?我使用此代碼實際創建的文件本身,但我怎麼能更改編碼(改爲UTF-8 W/O BOM)更改文本文件編碼
string path = @"E:\Test\Example.txt";
if (!File.Exists(path))
{
File.Create(path);
}
如何通過代碼更改文本文件編碼?我使用此代碼實際創建的文件本身,但我怎麼能更改編碼(改爲UTF-8 W/O BOM)更改文本文件編碼
string path = @"E:\Test\Example.txt";
if (!File.Exists(path))
{
File.Create(path);
}
你可以做這樣的事情,但我不知道這使得真正意義,因爲它似乎你在你的文件中沒有的內容...
如果你有一個內容,通過內容替換string.Empty
File.WriteAllText(path, string.Empty, Encoding.GetEncoding(<someEncodingCode>));
編輯:
File.WriteAllText(path, string.Empty, new UTF8Encoding(false));
您是否知道UTF8的編碼代碼(無BOM)? – MasterOfStupidQuestions
@ user2954053請參閱編輯 –
首先,除少數基地(例如,一個Unicode BOM,XML的編碼規則),您將需要某種形式的元數據來告訴您當前的編碼。雖然有些工具會猜測它們不可靠(例如,ISO/IEC 8859-1中的各種拉丁編碼沒有任何區分它們的方法)。
一旦你知道輸入編碼,合格Encoding
一個實例,用編碼的名稱創建的,到StreamReader
構造,創造StreamWriter
與所需的輸出編碼的實例,然後從一個到另一個泵串。
(如果您知道這些文件是不是兩個大:一次過與File.ReadAllTetxt
讀到的一切,並與File.WriteAllText
,內搭Encoding
參數寫
數據將被手動剪切/粘貼到文本文件中,只是想讓它自動創建 - 我現在看到文本是編碼而不是文件,所以現在你的答案很有意義。 – MasterOfStupidQuestions
的文件沒有你寫進去有一個編碼,文本 – okrumnow
是否有方法通過代碼更改文本的編碼? – MasterOfStupidQuestions