手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#简单判断字符编码的方法
C#简单判断字符编码的方法
摘要:本文实例讲述了C#简单判断字符编码的方法。分享给大家供大家参考,具体如下:publicstaticstringGetText(byte[]b...

本文实例讲述了C#简单判断字符编码的方法。分享给大家供大家参考,具体如下:

public static string GetText(byte[] buff) { string strReslut = string.Empty; if (buff.Length > 3) { if (buff[0] == 239 && buff[1] == 187 && buff[2] == 191) {// utf-8 strReslut = Encoding.UTF8.GetString(buff); } else if (buff[0] == 254 && buff[1] == 255) {// big endian unicode strReslut = Encoding.BigEndianUnicode.GetString(buff); } else if (buff[0] == 255 && buff[1] == 254) {// unicode strReslut = Encoding.Unicode.GetString(buff); } else if (isUtf8(buff)) {// utf-8 strReslut = Encoding.UTF8.GetString(buff); } else {// ansi strReslut = Encoding.Default.GetString(buff); } } return strReslut; } // 110XXXXX, 10XXXXXX // 1110XXXX, 10XXXXXX, 10XXXXXX // 11110XXX, 10XXXXXX, 10XXXXXX, 10XXXXXX private static 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; } // news.sohu.com private static bool isGBK(byte[] buff) { return false; }

希望本文所述对大家C#程序设计有所帮助。

【C#简单判断字符编码的方法】相关文章:

C# 格式化字符首字母大写的方法

C# WINFORM 强制让窗体获得焦点的方法代码

C#中字符串编码处理

.NET(C#):Emit创建异常处理的方法

C#处理JPEG头信息的方法

关于C#程序优化的五十种方法

C#图片压缩的实现方法

C#计算代码执行时间的方法

c#解压文件的实例方法

C#操作目录与文件的方法步骤

精品推荐
分类导航