阅读 66

英语作文,做c

首先是问题。 使用C#分析文本文件时,出现了乱码,但不是中文乱码。 大致如下。

原文:

乍一看没关系。 让我们来看看分析。

横线乱码了! 有一部分数据和中文,但中文没有乱码。

我是这样写的。 放上图片吧。 放上错误代码也没有意义:

解决流程1、在网上查询后发现,都是在new StreamReader的时候添加代码,Encoding.Default。 使用系统的默认编码格式就可以了。 芊,骗人鬼。 也许是大家面临的问题不同。

2、分析了文件的编码格式。 我用系统文本编辑器打开,另存为并查看了默认的编码格式。

ANSI? 什么,不重要。 我用这个格式读不就行了吗,我暗自高兴。

streamreader Sr=new streamreader (realpath,Encoding.AN? )

不能点击。 在代码库中找不到此代码。

3、为了解决问题,我先保存文件,另存为UTF-8后,一切正常了。

4、有时间的话,我想解决这个问题。

我用UTF-8、Unicode、GBK……解码失败了。 特别是GBK,让我抓住了异常:

然后我去解决了GBK不支持的问题,o(_) o哈哈~

感谢一位叫WebEnh的朋友的报道。 NET Core使用GBK GB2312代码报告错误。

我没有用其中的方法解决我的问题,但间接地解决了我的问题。 因为我编写并测试了C#的控制台APP应用程序。

执行文件导入之前,请注册代码库,然后使用GBK进行导入。

encoding.register provider (codepagesencodingprovider.instance; streamreader Sr=new streamreader (realpath,encoding.getencoding('gbk ' ) ); 问题解决了。

然后,我进行了四种代码格式的读取测试:

解决问题!

在下面贴上我的调试代码:

如果class program { staticvoidmain (string [ ] args ) /路径是相对路径,则不上载文件。 各位可以自己写几个编码格式的文件来测试string realpath=@ '.(第四次测量- ANSI.dat ) newmethod(realpath; realPath=@'.\第一次测量- Unicode.dat '; 新方法(realpath; realPath=@'.\第二次测量- GB2312.dat '; 新方法(realpath; realPath=@'.\第二次测量- UTF_8.dat '; 新方法(realpath; } privatestaticvoidnewmethod (string realpath ) try ) /文件名intstart=realpath.lastindexof (() ); int end=realPath.Length - 1; console.writeline (realpath.substring ) start,end - start 1; //encoding.register provider (codepagesencodingprovider.instance )进行乱码处理; streamreader Sr=new streamreader (realpath,encoding.getencoding ) (gbk ) ) { string line; while((line=Sr.readline ) )!=null}{console.writeline(line ); }}catch(exceptione ) thrownewexception ) dat示例文件分析异常(e.Message ); ((谢谢您的浏览) ((((() )


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐