C#,自动识别文件编码,紧急求助,100分

恶猫 2009-09-05 11:24:35
网上找了代码,做了试验。 

效果不是很好啊。

我要能识别:

1. GB2312
2. UTF8(BOM)
3. UTF8(No BOM)
4. Big5
5. xxx 就无所谓了。主要是识别网页文件。(不是http://xx.com/1.php 这样,是 D:\ddd\1.php )


最好有完整一点的代码啊,太着急了。

...全文
340 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2009-09-07
  • 打赏
  • 举报
回复
用IE的识别引擎把
去搜索IMultiLanguage
红街咖啡 2009-09-06
  • 打赏
  • 举报
回复
帮你顶个。
staticuser 2009-09-06
  • 打赏
  • 举报
回复
这个,,读取的时候不能获取编码吗?

****************************************************************
      看帖一定要回的,分也一定要接的 ^_^
****************************************************************
恶猫 2009-09-06
  • 打赏
  • 举报
回复
啥?????????????

程序哪里知道哪个是正确的格式啊。

我要解决的就是这个问题啊。
boywangliang 2009-09-06
  • 打赏
  • 举报
回复
up
十八道胡同 2009-09-06
  • 打赏
  • 举报
回复
每种格式编码的头几个字符是不一样的,楼主可以找找,我同学的毕业设计就是这么分辨的
youdandan 2009-09-06
  • 打赏
  • 举报
回复
不清楚,頂一下
tddlhl 2009-09-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dylike 的回复:]
1 可以使用正则表达式来判断
2 可以使用Like函数来比对
因为不同的编码有不同的格式,可以在程序中预先设定几种编码的格式,然后与被检测的数据进行格式比较.
[/Quote]

一般就是用这个方法,没有绝对正确的方法
TTOJJ 2009-09-06
  • 打赏
  • 举报
回复
我經常用IE流覽器來看繁體字~因為它可以人工選擇編碼方式,而用其他工具打開則全部都是亂碼~~
他們都有一個共同的毛病,不能自動選擇合適的編碼~~

但是,在IE流浪缆器中还有个"自动选择"的选项,可为什么有的时候它不起作用呢
原因就在于有的网页没有按规范来书写

网页中如果有以下的代码,那么就可以自动检测编码了
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

lzsh0622 2009-09-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 minghao1039 的回复:]
网上找了代码,做了试验。 

效果不是很好啊。

我要能识别:

1. GB2312
2. UTF8(BOM)
3. UTF8(No BOM)
4. Big5
5. xxx 就无所谓了。主要是识别网页文件。(不是http://xx.com/1.php 这样,是 D:\ddd\1.php )


最好有完整一点的代码啊,太着急了。


[/Quote]

给你个资料,能够满足你的需要,完整C#代码 vs2003项目格式, *.cs类文件可以直接用
检测文本文件的编码方式: GB2312、UTF-8、Shift-jis、ISO-8859-1等等。

下载地址:
http://download.csdn.net/source/259091
恶猫 2009-09-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lzsh0622 的回复:]
引用楼主 minghao1039 的回复:
网上找了代码,做了试验。 

效果不是很好啊。

我要能识别:

1. GB2312
2. UTF8(BOM)
3. UTF8(No BOM)
4. Big5
5. xxx 就无所谓了。主要是识别网页文件。(不是http://xx.com/1.php 这样,是 D:\ddd\1.php )


最好有完整一点的代码啊,太着急了。




给你个资料,能够满足你的需要,完整C#代码 vs2003项目格式, *.cs类文件可以直接用
检测文本文件的编码方式: GB2312、UTF-8、Shift-jis、ISO-8859-1等等。

下载地址:
http://download.csdn.net/source/259091

[/Quote]

下载调试了。基本上可以满足普通需求。
不过试过了 big5 无法识别。

gb2312
utf8(BOM)
utf8(NO BOM)

都可以正常识别。

可以满足暂时的需要了。以后有什么再说吧。

非常感谢。结贴了。
恶猫 2009-09-06
  • 打赏
  • 举报
回复
不是所有的文件都会有 charset 的啊。

比如,很多程序的文件。。像 php,asp 这里怎么会有 charset啊。

特别是单独的程序文件,不是html,代码混合的。

像DW就可以自动识别啊。
dahaidao 2009-09-06
  • 打赏
  • 举报
回复
搞了半天没有搞明白.
先把你遇到问题的这几种搞好吧,想一下把所有的都搞好,可不是太容易.
t6786780 2009-09-06
  • 打赏
  • 举报
回复
帮你顶
virken0212 2009-09-06
  • 打赏
  • 举报
回复
这个比较麻烦,感觉很多汉字的编码都不全,我也在搞类似的东西,也都不是很理想
dylike 2009-09-05
  • 打赏
  • 举报
回复
1 可以使用正则表达式来判断
2 可以使用Like函数来比对
因为不同的编码有不同的格式,可以在程序中预先设定几种编码的格式,然后与被检测的数据进行格式比较.

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧