社区
C#
帖子详情
如何判断一个文本文件是gb2312格式还是utf8格式
上海程序员3
2006-12-25 11:17:52
如何判断一个文本文件是gb2312格式还是utf8格式
我找到一段代码,如下,但并不正确
Sample code as follows:
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
if( sr.CurrentEncoding.Equals( Encoding.Utf8 ) )
Debug.WriteLine( "Utf8 encoding" );
}
...全文
1439
25
打赏
收藏
如何判断一个文本文件是gb2312格式还是utf8格式
如何判断一个文本文件是gb2312格式还是utf8格式 我找到一段代码,如下,但并不正确 Sample code as follows: using (StreamReader sr = new StreamReader("TestFile.txt")) { if( sr.CurrentEncoding.Equals( Encoding.Utf8 ) ) Debug.WriteLine( "Utf8 encoding" ); }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
OriesMap
2006-12-26
打赏
举报
回复
也顶一把。
mood8125
2006-12-26
打赏
举报
回复
mark
smallboy_5
2006-12-25
打赏
举报
回复
楼主的代码是对的。
上海程序员3
2006-12-25
打赏
举报
回复
楼上的代码不灵呀,明明是gb2312的,结果它也认为是utf8格式
liujia_0421
2006-12-25
打赏
举报
回复
if (sr.CurrentEncoding.Equals(System.Text.UTF8Encoding.UTF8 ))
{
Console.WriteLine("utf8");
}
cangwu_lee
2006-12-25
打赏
举报
回复
根据汉字编码,但这个不能每一个字都能判断得出来的。但,一句话应该可以判断。
--------------------------------------------------------------
程序,犹如人生。
chenxdb
2006-12-25
打赏
举报
回复
在UTF文件中前面多了三個字節具體為:EFBBBF
dinglantao
2006-12-25
打赏
举报
回复
我也正等待高人答案
上海程序员3
2006-12-25
打赏
举报
回复
但怪的是editplus还没有碰到识别不了的文本文件格式,应该有标识的地方吧。
syczx
2006-12-25
打赏
举报
回复
把文件编码格式码写在文件前三个字节,这是文本文件的标准格吗?
就是说,也许notepad是这样写在文件前三个字节,能保证别的软件(比楼上说的editplus等)也是写在这个位置,也用这些代码吗?
my_infinity
2006-12-25
打赏
举报
回复
好象文件在经网络传输时都是预转成了UTF-8了哟?
my_infinity
2006-12-25
打赏
举报
回复
有谁能解释 liujia_0421(SnowLover) 有那么点。。问题的原因呢,谢谢
上海程序员3
2006-12-25
打赏
举报
回复
楼上的能传个代码给我么,我邮箱是a9a@163.com,我那论坛http://www.3http.com也可以上传文件的。
我上面发的代码都试了无效果,我的是文本文件,用editplus保存时选择了格式,但怪的是editplus就能正确判断,用UEStudio也能判断出格式来。
VirtualDesktop
2006-12-25
打赏
举报
回复
判断前3字节啊:EFBBBF
这个保管好用的,我都用了很久的了
LeoMaya
2006-12-25
打赏
举报
回复
汗...
mark
上海程序员3
2006-12-25
打赏
举报
回复
我试了,但还是一样,没有效果,这回是明明用了utf8格式,却它硬是显示说是gb2312。
yitian130
2006-12-25
打赏
举报
回复
study,study~! study~!
smallboy_5
2006-12-25
打赏
举报
回复
//保存当前Seek位置
stream.Seek(0, SeekOrigin.Begin);
int nByte = stream.ReadByte();
byte1 = Convert.ToByte(nByte);
byte2 = Convert.ToByte(stream.ReadByte());
if (stream.Length >= 3)
{
byte3 = Convert.ToByte(stream.ReadByte());
}
if (stream.Length >= 4)
{
byte4 = Convert.ToByte(stream.ReadByte());
}
//根据文件流的前4个字节判断Encoding
//Unicode {0xFF, 0xFE};
//BE-Unicode {0xFE, 0xFF};
//UTF8 = {0xEF, 0xBB, 0xBF};
if (byte1 == 0xFE && byte2 == 0xFF)//UnicodeBe
{
targetEncoding = Encoding.BigEndianUnicode;
}
if (byte1 == 0xFF && byte2 == 0xFE && byte3 != 0xFF)//Unicode
{
targetEncoding = Encoding.Unicode;
}
if (byte1 == 0xEF && byte2 == 0xBB && byte3 == 0xBF)//UTF8
{
targetEncoding = Encoding.UTF8;
}
详细的看上面的文章就可以了
zhedouyou
2006-12-25
打赏
举报
回复
up
runrunrun
2006-12-25
打赏
举报
回复
判前三个字节:EFBBBF
加载更多回复(5)
批量文件编码转换工具(Utf-8转
GB2312
、
GB2312
转Utf-8)
本文将深入探讨批量文件编码转换工具,特别是“Utf-8转
GB2312
”与“
GB2312
转Utf-8”的转换过程,以及如何利用此类工具进行高效操作。 标题中的“批量文件编码转换工具”是指一种能够一次性处理大量文件,改变它们...
C#实现获取
文本文件
的编码的
一个
类(区分
GB2312
和
UTF8
)
本篇将介绍如何使用C#编写
一个
类来检测
文本文件
的编码,特别是区分
GB2312
(简体中文GBK编码)和
UTF8
这两种常见的编码
格式
。 首先,我们要知道不同编码类型的标识。
UTF8
编码有两种形式,一种是带有字节顺序标记(BOM...
文本文件
编码转换工具 gbk
utf8
gb2312
charset=utf-8"></HEAD> "说明此文件编码为
utf8
" 4)在 mysql_select_db("表名",$id); 后面加入一行 mysql_query("set names
utf8
;"); <!-----说明数据库连接也用
utf8
编码-----> 5)*.php 文件在存盘的时候也以 ...
文件编码
格式
批量转换
格式
带源代码
文件编码
格式
批量转换
格式
支持整目录转换。 转后后的数据保持源目录的结构输出到全新的目录下。... 如果是微软的stupid
格式
的文本,系统支持自动
判断
数据
格式
。 输出支持
GB2312
,系统默认,UTF-8 / UTF-16。
判断
一段文件是UTF-8编码还是
GB2312
的编码方式
对于只包含中文和英文的文本中
判断
编码方式是非常简单的,中文的编码方式最常用的是GBK,字符集更大的如GBK向下兼容
GB2312
,其中包含的的很多一部分字符是我们在日常生活中用不到的,因此在实际中我们一般只需要区分...
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章