簡體   English   中英

C# 使用 StreamWriter 和 ANSI 編碼寫入文件不起作用

[英]C# Write to file using StreamWriter with ANSI encoding doesn't work

我想用 ANSI 編碼寫入文本文件。 代碼如下所示:

string text = "abc123";
string filePath = "C:\\Data\\MyFile.csv";

using (StreamWriter sw = new StreamWriter(File.Open(filePath, FileMode.OpenOrCreate), Encoding.Default))
{
    sw.Write(text);
}

當我用 Notepad++ 打開結果文件並單擊菜單上的“編碼”按鈕時,總是有我想避免的“UTF-8(無 BOM)”。 我嘗試選擇“轉換為 ANSI”選項,但在保存文件並重新打開后,它仍然是“UTF-8”。

我被這個問題困擾了很長時間,有人能給一些提示嗎?

StreamWriter 沒有問題,它是 Notepad++ 的工作方式。 你可以很容易地看到它自己。 只需打開經典 Windows 記事本,使用 ANSI 編碼鍵入“測試”和“另存為”。 然后在 Notepad++ 中打開 - 它會將編碼識別為 UTF8。

如果導出包含特殊字符的文本,例如 'é',Notepadd++ 會將編碼顯示為 ANSI 而不是 UTF-8。

string text = "éçë";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM