判读文本编码是否为UTF8

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

private bool IsUtf8(byte\[\] buff)

{

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

{

if ((buffi & 0xE0) == 0xC0) // 110x xxxx 10xx xxxx

{

if ((buffi + 1 & 0x80) != 0x80)

{

return false;

}

}

else if ((buffi & 0xF0) == 0xE0) // 1110 xxxx 10xx xxxx 10xx xxxx

{

if ((buffi + 1 & 0x80) != 0x80 || (buffi + 2 & 0x80) != 0x80)

{

return false;

}

}

else if ((buffi & 0xF8) == 0xF0) // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx

{

if ((buffi + 1 & 0x80) != 0x80 || (buffi + 2 & 0x80) != 0x80 || (buffi + 3 & 0x80) != 0x80)

{

return false;

}

}

}

return true;

}

相关推荐
arbboter3 小时前
【网络工具】NetProxy网络代理用户手册
开发语言·网络·c#·网络代理·网络异常·代理工具
微小冷4 小时前
海康威视相机C#二次开发环境配置
数码相机·c#·.net·海康威视·相机开发
吴可可1238 小时前
C#重写机制与CAD图元开发要点
c#
A_nanda8 小时前
c#WPF开发常见问题
开发语言·c#·wpf
唐青枫8 小时前
别只会解析参数:C#.NET Spectre.Console.Cli 命令行工具实战详解
c#·.net
AI刀刀9 小时前
腾讯元宝粘贴到 word 格式混乱,AI 导出鸭一键规整排版
人工智能·c#·word·ai导出鸭
微小冷10 小时前
海康威视相机C#二次开发指图像采集
数码相机·c#·二次开发·机器视觉·海康威视·mvs·相机开发
rick97712 小时前
WinForms 父子窗体数据传递的进化之路:从参数注入到事件回传的完美闭环
c#
淡海水13 小时前
C#与常用数据结构源码剖析-全篇导览
开发语言·数据结构·unity·面试·职场和发展·c#
在世修行13 小时前
从零打造 C# 工业视觉检测系统(十五):项目打包部署与进阶展望
开发语言·c#·视觉检测