判读文本编码是否为UTF8

(----转载-----,忘记出处了抱歉)

private bool IsUtf8(byte[] buff)

{

for (int i = 0; i < buff.Length; i++)

{

if ((buff[i] & 0xE0) == 0xC0) // 110x xxxx 10xx xxxx

{

if ((buff[i + 1] & 0x80) != 0x80)

{

return false;

}

}

else if ((buff[i] & 0xF0) == 0xE0) // 1110 xxxx 10xx xxxx 10xx xxxx

{

if ((buff[i + 1] & 0x80) != 0x80 || (buff[i + 2] & 0x80) != 0x80)

{

return false;

}

}

else if ((buff[i] & 0xF8) == 0xF0) // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx

{

if ((buff[i + 1] & 0x80) != 0x80 || (buff[i + 2] & 0x80) != 0x80 || (buff[i + 3] & 0x80) != 0x80)

{

return false;

}

}

}

return true;

}

相关推荐
Sunsets_Red16 小时前
二项式定理
java·c++·python·算法·数学建模·c#
源之缘-OFD先行者18 小时前
定制化 Live555 实战:按需开发低耗 RTSP 服务器,完美适配 C# 项目
运维·服务器·c#
hakertop18 小时前
如何基于C#读取.dot图论文件并和QuickGraph联动
数据库·c#·图论
c#上位机1 天前
halcon多个区域合并为1个区域—union1
c#·上位机·halcon·机器视觉
c#上位机1 天前
halcon图像增强——图像取反
图像处理·算法·c#·halcon
zwm2698888151 天前
悦龙台 监控掉线问题
c#
c#上位机1 天前
halcon图像去噪—导向滤波
图像处理·人工智能·计算机视觉·c#·halcon
切糕师学AI1 天前
Z.EntityFramework.Extensions.Core 如何批量删除数据?
c#
CHANG_THE_WORLD1 天前
Python 中的循环结构详解
开发语言·python·c#
c#上位机1 天前
halcon获取多个独立连通域—connection
图像处理·c#·halcon