--怎么将首先转换成Unicode,然后再转换成ASCIIStreamWriter sw = null;
string strCSVData = String.Empty;
String path = ...; 
path = System.Web.HttpUtility.UrlDecode( path );try
{
...
//先换成Unicode
        sw = new StreamWriter(path,false,Encoding.Unicode);
//?怎么再转换成 ASCII

foreach(...)
{
for(...)
{
strCSVData =;
...
}
strCSVData  += "\r\n";
}
sw.WriteLine(strCSVData);
}
catch
{
...
}
finally
{
...
}

解决方案 »

  1.   

    int UnicodeToASCII(wchar * unicode, char * ascii, int max_len) //把Unicode 转换成 ASCII 

    return WideCharToMultiByte(CP_ACP,NULL,unicode,-1,ascii,max_len,NULL,NULL); 
    }
      

  2.   

    StreamReader sr = new StreamReader(s, Encoding.ASCII)没试过,不知好用不
      

  3.   

    首先转换成Unicode,然后再转换成ASCII 
    如果不输出,这样中转有意义吗?直接转成ascii就可以了。
      

  4.   

    由于最终输出结果需要的编码格式是: ASCII 
    直接转 ASCII ,中文乱码.
    想通过先转换成Unicode,然后再转换成ASCII ,解决中文乱码问题.
      

  5.   

    看一下ASCIIEncoding.GetChars 方法 
      

  6.   

    先确定你要读取的字符串的编码,如果是utf8就用utf8编码读取,如果是ascii就用ascii,读到内存中以后,再用其它编码输出。也就是说,读取的时候,要先确定编码,输出的时候,也要确定编码。如果不指定编码,是以默认编码读取的。