ASP.NET自动识别GB2312与UTF-8编码的文件
日期:2007年10月17日 作者: 查看:[大字体 中字体 小字体]-
Question
在简体中文系统中,我们有时候需要打开一个保存在磁盘上的纯文本文件,例如txt,但却不知道其保存编码,该怎么办呢?
如果文本只需要在Windows上显示,那就很幸运了,因为无论是GB2312还是UTF-8编码的string都能够正确显示。但如果需要输出到ASP.NET页面上就不是那么简单了,因为如果页面编码为UTF-8但纯文本文件导入的string是GB2312,那就会导致乱码,反之亦然。因此,我们需要一种方法自动识别磁盘上的纯文本文件到底是么编码的。
Answer
StreamReader其实是有编码自动检测功能,不过因为它仅仅检测前3个字节,所以只能UTF-8、Little-Endian Unicode、Big-Endian Unicode之前作出选择,如果上述3个都不匹配,就选择用户提供的编码。因此,我们可以提供GB2312编码给StreamReader,让它在GB2312和UTF-8之前自动作出选择。
using (StreamReader reader = new StreamReader(path, Encoding.Default)
{
string line;
while ((line = reader.ReadLine()) != null)
{
FileTextBox.InnerHtml += Server.HtmlEncode(line) + "\r\n";
}
FileEncodingNameLabel.Text = reader.CurrentEncoding.EncodingName;
}上述代码使用Encoding.Default初始化StreamReader,Encoding.Default指的是系统的默认ANSI编码,在简体中文系统中就是GB2312。这样写能够让代码保持有一定的兼容性,例如在繁体中文系统就变成了自动在Big5和UTF-8之间做出选择。之后的代码就是用StreamReader逐行读取文件内容并放到FileTextBox中,最后通过StreamReader的CurrentEncoding属性获取编码名称并显示在FileEncodingNameLabel中。
(出处:急速软件下载学院)
-
- ASP.NET自动识别GB2312与UTF-8编码的文件 相关文章:
- ·AUTO病毒可导致某些杀毒软件失效
- ·究竟有多糟糕 2007年值得注意的安全事件
- ·Vista操作系统中文件扩展名如何显示
- ·利用插件来校验XHTML是否符合Web标准
- ·Windows Vista中如何显示“超级隐藏”文件
- ·诺顿杀毒软件正式版用户找回密码的方法
- ·IDC邮件安全网关解决方案提高带宽效率
- ·动态加载外部css或js文件
- ·节哀顺便病毒感染安全软件致防御失效
- ·免费绘图软件Paint.NET推出3.2正式版
- ASP.NET自动识别GB2312与UTF-8编码的文件 相关软件
- ·灵异案件
- ·《魔兽世界》插件Bigfoot大脚
- ·《福尔摩斯和失落的文件》角色扮演试玩
- ·冒死记录中国神秘事件
- ·《无冬之夜2》1.04 870最小镜像文件
- ·PSP自动更换壁纸插件及教程
- ·公寓惊悚杀人事件:暮眼蝶
- ·PSP游戏镜像压缩转换软件 ISO Compressor
- ·《生化危机4》手柄震动支持插件
- ·《眼睛别墅杀人事件》
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:Photoshop制作 3HAN 风格非主流照片效果
下一篇:学习WEB标准制作网页之Page Layout 网页布局
精品推荐
热点TOP10
- ·Community Server专题三:HttpModule
- ·ASP.Net2.0 GridView 多列排序,显示排序图标,分页
- ·根据选择的树形节点用asp.net结合dw和js动态生成可移动可展开的层
- ·在 ASP.NET 2.0 中上载文件
- ·通过webservices上传下载文件
- ·让ASP.NET简便使用SCRIPT
- ·CMPP SP端 C# 实例
- ·生成 ContentRotator ASP.NET 服务器控件
- ·揭开ASP.NET中Cookie编程的奥秘
- ·生成静态文件的新闻系统核心代码(.net C#)
- ·ASP.NET技巧:用MasterPage 代替 PageBase
- ·ASP.NET2.0数据操作之母板页和站点导航
- ·C#捕捉摄相头的数据流
- ·理解并扩展 ASP.NET 2.0 中的站点导航系统
- ·Community Server专题四:HttpHandler
- ·DataList嵌套实例
- ·ASP.NET技巧:教你制做Web实时进度条
- ·将图片插入数据库并使用asp.net读取出来的正确方法
- ·ASP.NET:Repeater控件的详解
- ·如何在上传的图片上加上版权文字
特别推荐
- ·.net基础知识错误注意二十二点知识
- ·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
- ·.NET基础知识-什么是.NET
- ·初学C#+ASP.NET+Oracle时积累的备忘点滴
- ·专家详解:复杂表达式的执行步骤
- ·asp.net中的加密方法
- ·DataGrid常见关注问题解决方案
- ·学习笔记 ASP.NET 5种页面转向法
- ·ASP.NET网络编程中经常会用到的27个函数集
- ·ASP.NET之上传文件管理策略
- ·专家:用.NET动态创建类的实例讲解
- ·ASP.NET WEB服务和Flash打造MP3播放器
- ·精通ASP.NET中弹出窗口技术
- ·asp.net常用代码
- ·asp.net创建文件夹的IO类的问题
- ·Asp.Net函数集
- ·Asp.net cache 简述
- ·如何最大限度提高.NET的性能 (续)
- ·.NET编程规范
- ·Asp.net1.1升级到2.0遇到的一些问题总结
