0
我試圖將base64字符串附加到現有文件。這裏是我的代碼:StreamWriter編碼字符串不正確
StreamWriter output = new StreamWriter(file, true, Encoding.ASCII);
output.WriteLine(output.NewLine + str);
這裏file
是文件路徑。
出於某種原因,有一個特定的文件(一個.cs文件,如果它很重要),其中附加的實際文本是一串中文字符。它按照我所測試過的所有其他文件的預期工作。
您嘗試打印的字符串中是否有任何非ASCII字符?也就是說,任何字符的十進制值> 127?例如,它是否具有Unicode字節順序標記(http://en.wikipedia.org/wiki/Byte_order_mark)? – adv12
在這種情況下'str'是什麼?是否可能在不截斷的情況下覆蓋現有的文件,並且數據就是那些已經存在的文件? –
幾乎可以保證你使用錯誤的(ASCII)編碼來破壞文件。驗證該文件不是UTF-8(或其他編碼)。 – xxbbcc