↓洛ヲ翼♂♂

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

最近用C#做了一个项目其中用到了新大陆PT800。

我们按照约定好的格式将数据下载到机器后机器却不能正确读取文件中的信息,后来经过研究发现是TXT文件的编码问题。

一般系统TXT文件默认采用ANSI编码,而C#中默认编码是UTF-8,所以在程序写TXT文件的时候要进行转码。

我们使用如下代码:

1 using (StreamWriter sw = new StreamWriter("sku.txt",false, System.Text.Encoding.GetEncoding(936)))
2 {
3 StringBuilder stringBuilder = new StringBuilder();
4 //.......此处省略
5 sw.WriteLine(stringBuilder.ToString());
6 sw.Flush();
7 sw.Close();
8 }

在第一行的位置用System.Text.Encoding.Default也是可以的网上也有很多网友这么说,但是我认为仅从字面意思和微软的提示来看

System.Text.Encoding.Default是按照系统配置来获取编码格式的,也就是说也许我换个英文版系统或者修改语言设置这里获取的编码

就会存在差异,所以我建议大家还是使用System.Text.Encoding.GetEncoding(936)。

当然以上都是我对System.Text.Encoding.Default的猜测,有兴趣的朋友可以去尝试下,如果我猜测的不对也希望大家指正。

posted on 2012-03-26 22:37  ↓洛ヲ翼♂♂  阅读(237)  评论(0)    收藏  举报