2015-01-12 79 views
0

我試圖將base64字符串附加到現有文件。這裏是我的代碼:StreamWriter編碼字符串不正確

StreamWriter output = new StreamWriter(file, true, Encoding.ASCII); 
output.WriteLine(output.NewLine + str); 

這裏file是文件路徑。

出於某種原因,有一個特定的文件(一個.cs文件,如果它很重要),其中附加的實際文本是一串中文字符。它按照我所測試過的所有其他文件的預期工作。

+1

您嘗試打印的字符串中是否有任何非ASCII字符?也就是說,任何字符的十進制值> 127?例如,它是否具有Unicode字節順序標記(http://en.wikipedia.org/wiki/Byte_order_mark)? – adv12

+0

在這種情況下'str'是什麼?是否可能在不截斷的情況下覆蓋現有的文件,並且數據就是那些已經存在的文件? –

+1

幾乎可以保證你使用錯誤的(ASCII)編碼來破壞文件。驗證該文件不是UTF-8(或其他編碼)。 – xxbbcc

回答

0

按照評論中的多個建議,我用文件的編碼替換了,我使用2Toad的回答here查找該編碼。這解決了問題。