首页 > 开发 > 综合 > 正文

c# 正确读取存储中文,以及如何获取字节流编码

2024-07-21 02:29:29
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 除非另外指定,streamreader 的默认编码为 utf-8,而不是当前系统的 ansi 代码页。

    因此读取简体中文会出现乱码,可以指定编码正确显示gb2312简体中文.

    streamreader streamopen=new streamreader(@"d:/1.txt",system.text.encoding.default);
    string stropen=streamopen.readtoend();
    streamopen.close();

    或者system.text.encoding.default换成system.text.encoding.getencoding("gb2312")

    用streamwriter保持txt文件时也是这种方法:

    streamwriter streamsave=new streamwriter(@"d:/1.txt",false,system.text.encoding.default);
    streamsave.write("一二三");
    streamsave.close();

    这在中文系统下应该没有问题,但在非英文系统下应该会出现问题,有时间让朋友测试下.


    至于打开txt文件时如何获取该文件字节流的编码,这在.net下似乎没有很简单的方法,在lion的blog上有种解决的方法,但也似乎挺麻烦,链接如下:

    http://www.cnblogs.com/lion.net/archive/2005/02/24/108395.html

    不知是否还有其他简单一点的办法吗?

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表