最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#簡單判斷字符編碼的方法

 更新時間:2016年06月13日 09:38:28   作者:呂秀才  
這篇文章主要介紹了C#簡單判斷字符編碼的方法,可實現(xiàn)判斷utf-8,unicode,ansi等編碼的功能,簡單實用,需要的朋友可以參考下

本文實例講述了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;
}

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#編碼操作技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》及《C#程序設(shè)計之線程使用技巧總結(jié)

希望本文所述對大家C#程序設(shè)計有所幫助。

相關(guān)文章

  • C#自定義組件實現(xiàn)表格的多層表頭功能

    C#自定義組件實現(xiàn)表格的多層表頭功能

    這篇文章主要為大家詳細介紹了如何使用C#自定義組件實現(xiàn)表格的多層表頭功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-12-12
  • C#中矩形數(shù)組的定義和元素訪問

    C#中矩形數(shù)組的定義和元素訪問

    矩形數(shù)組是指由相同數(shù)據(jù)類型的元素按照行和列組成的二維數(shù)組,可以使用索引訪問矩形數(shù)組中的單個元素,也可以使用循環(huán)結(jié)構(gòu)遍歷矩形數(shù)組中的所有元素,此外,我們還需要注意不要修改矩形數(shù)組的維度,避免使用矩形數(shù)組造成內(nèi)存占用過高等問題
    2024-01-01
  • C#實現(xiàn)文件夾的復(fù)制和刪除

    C#實現(xiàn)文件夾的復(fù)制和刪除

    這篇文章主要為大家詳細介紹了C#實現(xiàn)文件夾的復(fù)制和刪除功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • C#實現(xiàn)websocket雙向通信的示例代碼

    C#實現(xiàn)websocket雙向通信的示例代碼

    本文基于WebSocketSharp實現(xiàn)了websocket雙向通信,除基本的客戶端向服務(wù)端發(fā)送消息外,也支持客戶端向指定的客戶端發(fā)送消息、群發(fā)消息,其他協(xié)議可自定義,廢話不多說,直接上干貨,需要的朋友可以參考下
    2024-06-06
  • .Net(c#)漢字和Unicode編碼互相轉(zhuǎn)換實例

    .Net(c#)漢字和Unicode編碼互相轉(zhuǎn)換實例

    下面小編就為大家?guī)硪黄?Net(c#)漢字和Unicode編碼互相轉(zhuǎn)換實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • WinFrom中l(wèi)abel背景透明的實現(xiàn)方法

    WinFrom中l(wèi)abel背景透明的實現(xiàn)方法

    這篇文章主要介紹了WinFrom中l(wèi)abel背景透明的實現(xiàn)方法,方法簡單實用,是C#程序設(shè)計中非常實用的技巧,需要的朋友可以參考下
    2014-09-09
  • C#實現(xiàn)簡單學生成績管理系統(tǒng)

    C#實現(xiàn)簡單學生成績管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C#實現(xiàn)簡單學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C# 編碼好習慣,獻給所有熱愛c#的同志

    C# 編碼好習慣,獻給所有熱愛c#的同志

    c#編寫者,需要培養(yǎng)的一些好習慣
    2009-02-02
  • C# 基礎(chǔ)入門--關(guān)鍵字

    C# 基礎(chǔ)入門--關(guān)鍵字

    本文主要介紹了C# 基礎(chǔ)知識--關(guān)鍵字的相關(guān)知識,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • C#歸并排序的實現(xiàn)方法(遞歸,非遞歸,自然歸并)

    C#歸并排序的實現(xiàn)方法(遞歸,非遞歸,自然歸并)

    C#歸并排序的實現(xiàn)方法(遞歸,非遞歸,自然歸并),需要的朋友可以參考一下
    2013-04-04

最新評論

台江县| 遵义市| 麟游县| 格尔木市| 博湖县| 凤凰县| 新民市| 北川| 德庆县| 襄垣县| 梁河县| 茂名市| 监利县| 周宁县| 于都县| 抚宁县| 桦川县| 突泉县| 广安市| 玉山县| 囊谦县| 云阳县| 普陀区| 台东市| 寿光市| 河津市| 百色市| 宁都县| 祁东县| 察雅县| 梅河口市| 临西县| 富平县| 达拉特旗| 隆昌县| 平罗县| 聂荣县| 万全县| 成安县| 吐鲁番市| 余姚市|