Asp.Net获取文件物理编码
以前转载过一篇asp检测文件编码,是关于asp获取文件编码的,原理及一些说明请参考asp检测文件编码这篇文章,下面贴出的是asp.net版本的。
原创文章,转载请注明出处:Asp.Net获取文件物理编码
+展开
using System;
using System.IO;
using System.Text;
public class Test
{
private static Encoding GetFileEncoding(string FileName)
{
/*
ANSI: 无格式定义;
Unicode: 前两个字节为FFFE;
Unicode big endian: 前两字节为FEFF;
UTF-8: 前两字节为EFBB;
*/
Stream s = File.Open(FileName, FileMode.Open, FileAccess.Read);
Encoding encoding = Encoding.Default;
try
{
byte[] FirstByte = new byte[2];
s.Read(FirstByte, 0, FirstByte.Length);
if (FirstByte[0] == 239 && FirstByte[1] == 187)
encoding = Encoding.UTF8;
else if (FirstByte[0] == 255 && FirstByte[1] == 254)
encoding = Encoding.Unicode;
else if (FirstByte[0] == 254 && FirstByte[1] == 255)
encoding = Encoding.BigEndianUnicode;
}
catch
{ }
s.Close();
return encoding;
}
}
-C#
using System;
using System.IO;
using System.Text;
public class Test
{
private static Encoding GetFileEncoding(string FileName)
{
/*
ANSI: 无格式定义;
Unicode: 前两个字节为FFFE;
Unicode big endian: 前两字节为FEFF;
UTF-8: 前两字节为EFBB;
*/
Stream s = File.Open(FileName, FileMode.Open, FileAccess.Read);
Encoding encoding = Encoding.Default;
try
{
byte[] FirstByte = new byte[2];
s.Read(FirstByte, 0, FirstByte.Length);
if (FirstByte[0] == 239 && FirstByte[1] == 187)
encoding = Encoding.UTF8;
else if (FirstByte[0] == 255 && FirstByte[1] == 254)
encoding = Encoding.Unicode;
else if (FirstByte[0] == 254 && FirstByte[1] == 255)
encoding = Encoding.BigEndianUnicode;
}
catch
{ }
s.Close();
return encoding;
}
}
加支付宝好友偷能量挖...
原创文章,转载请注明出处:Asp.Net获取文件物理编码