.net读取文档变乱码得处理方式

本文档介绍了在使用Microsoft .Net Framework读取文件时遇到的乱码问题,特别是从Windows 2000以后的系统默认采用Unicode导致的与ANSI编码不兼容的情况。解决方案在于在读取文件时指定正确的编码方式,即使用System.Text.Encoding.Default来匹配操作系统的编码,从而避免中文乱码。示例代码分别展示了VB .Net和C# .Net的实现方法。
摘要由CSDN通过智能技术生成

今天因為做長榮的案子,壓根沒想到 Microsoft .Net Framework 讀取檔案竟然會出現亂碼,以前用 VB 都鮮少遇過這種事。

20040710_01.gif

重點還是在於如何解決,因為從 Windows 2000 之後的作業系統在檔案處理採用Unicode ,所以 .Net 的檔案處理也是預設為 Unicode ,但是文字檔大多還是以 ANSI 儲存,而且裡面的編碼還是用 Big5,所以才會造成中文亂碼的狀況,也就是在讀取檔案的時候就要指定編碼的樣式。

本來會造成亂碼的語法如下:

Dim reader As StreamReader =
New StreamReader(FileName)

但是問題來了,System.Text.Encoding 裡面一堆,ASCII、UTF-8 等等的,要選哪個好?

其實很簡單,用 System.Text.Encoding.Default 告訴 StreamReader 目前作業系統的編碼即可。

[VB .Net] 的寫法

Dim reader As StreamReader = _
New StreamReader(FileName, System.Text.Encoding.Default)

[C# .Net] 的寫法

StreamReader reader = _
New StreamReader(FileNa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值