日文操作系统,在写文件之前对写入的内容进行过文字码转换。debug时,写之前的值还跟原来的一样,但是写道文件之后,打开文件就是乱码。不知道为什么,请教大家!谢谢!
下面是我的代码:
private const string path = "c:\aa.txt";
private void append(string m_str,string code)
{
System.Text.Encoding enc;
if(code.ToLower() == C_SHIFT_JIS)
{
enc = System.Text.Encoding.GetEncoding("shift_jis");
}
else if (code.ToLower() == C_UTF_8)
{
enc = System.Text.Encoding.GetEncoding("utf-8");
}
else
{
enc = System.Text.Encoding.GetEncoding(C_UNICODE);
}
string change_str;
change_str = enc.GetString(System.Text.Encoding.Default.GetBytes(m_str));
try
{
StreamWriter sw = File.AppendText(path);
sw.WriteLine(change_str);
sw.Flush();
sw.Close();
}
catch(System.Exception e)
{
Console.WriteLine(e.Message);
}
}