社区
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" );
}
...全文
1480
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写文章
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)
本工具可以根据需要批量将
一个
目录及其子目录下的所有文件转换为
GB2312
或Utf-8编码文件,绿色软件,无需安装。 需要.NET Framework v2.0 运行库支持。
文本文件
编码转换工具 gbk
utf8
gb2312
写此贴为记录自己的学习历程,供后来者以观. 原因,我决定学习PHP+MYSQL之后选择了用整合包的环境(因为我懒) 经过历时
一个
星期的比较 揣摩 测试之后选择了 VertrigoServ 可是它美中不足的是mysql里中文显示"????????".最后几经周折总算解决了. 方法如下: 1)在phpmyadmin 中建库的时候一切默认 2)建表时候一切默认;至于导入*.SQL没试应该是不用动什么 3)在 php 文件头部加入 "说明此文件编码为
utf8
" 4)在 mysql_select_db("表名",$id); 后面加入一行 mysql_query("set names
utf8
;"); 5)*.php 文件在存盘的时候也以 "utf-8"编码存盘. 如此一来整站编码就都是国际能用的
utf8
编码了.通用性现在做到最好了. 问题也是有的,在此环境下涉及到数据库运行的文件都必须是
utf8
编码.这样一来就出现了不兼容,因为在国内大家都是以GBK
gb2312
编的码 包括 17PHP.com 网站里的学习源码文件(我用的是77例中的) 和很多插件 论坛代码... ...Discuz!也是的 解决起来很简单,把它们的编码都改成
utf8
好了. 批量文件转码工具
文件编码
格式
批量转换
格式
带源代码
文件编码
格式
批量转换
格式
支持整目录转换。 转后后的数据保持源目录的结构输出到全新的目录下。 系统支持输入
GB2312
,系统默认,UTF-8 / UTF-16。 如果是微软的stupid
格式
的文本,系统支持自动
判断
数据
格式
。 输出支持
GB2312
,系统默认,UTF-8 / UTF-16。
判断
一段文件是UTF-8编码还是
GB2312
的编码方式
分类: 算法 cpp2012-03-10 16:01 7120人阅读 评论(2) 收藏 举报 null生活c 对于只包含中文和英文的文本中
判断
编码方式是非常简单的,中文的编码方式最常用的是GBK,字符集更大的如GBK向下兼容
GB2312
,其中包含的的很多一部分字符是我们在日常生活中用不到的,因此在实际中我们一般只需要区分
GB2312
和
UTF8
编码。这里我只是提供一种可行的方法,如果
遍历子文件编码
格式
互换(UTF-8与
GB2312
)
在日常开发中,我们经常会遇到需要将文件的编码
格式
从一种转换为另一种的情况,特别是在不同的操作系统和编辑器之间共享代码文件时。本篇文章将介绍
一个
Python脚本,用于遍历指定文件夹下的所有.c和.h文件,实现编码
格式
的互换,即从UTF-8转换为
GB2312
,或者从
GB2312
转换为UTF-8,并且还能清除文件中的空行。
C#
111,120
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章