中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

byte常用擴展有哪些

發布時間:2022-03-07 11:20:43 來源:億速云 閱讀:131 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關byte常用擴展有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

byte常用擴展應用一:轉換為十六進制字符串

 public static string ToHex(this byte b)   {       return b.ToString("X2");   }    public static string ToHex(this IEnumerable< byte> bytes)   {       var sb = new StringBuilder();       foreach (byte b in bytes)          sb.Append(b.ToString("X2"));      return sb.ToString();  }

第二個擴展返回的十六進制字符串是連著的,一些情況下為了閱讀方便會用一個空格分開,處理比較簡單,不再給出示例。

byte常用擴展應用二:轉換為Base64字符串

public static string ToBase64String(byte[] bytes)  {      return Convert.ToBase64String(bytes);  }

byte常用擴展應用三:轉換為基礎數據類型

public static int ToInt(this byte[] value, int startIndex)  {      return BitConverter.ToInt32(value, startIndex);  }  public static long ToInt64(this byte[] value, int startIndex)  {      return BitConverter.ToInt64(value, startIndex);  }

BitConverter類還有很多方法(ToSingle、ToDouble、ToChar...),可以如上進行擴展。

byte常用擴展應用四:轉換為指定編碼的字符串

public static string Decode(this byte[] data, Encoding encoding)  {      return encoding.GetString(data);  }

byte常用擴展應用五:Hash

 //使用指定算法Hash   public static byte[] Hash(this byte[] data, string hashName)   {       HashAlgorithm algorithm;       if (string.IsNullOrEmpty(hashName)) algorithm = HashAlgorithm.Create();       else algorithm = HashAlgorithm.Create(hashName);       return algorithm.ComputeHash(data);   }   //使用默認算法Hash  public static byte[] Hash(this byte[] data)  {      return Hash(data, null);  }

byte常用擴展應用六:位運算

 //index從0開始   //獲取取第index是否為1   public static bool GetBit(this byte b, int index)   {       return (b & (1 < <  index)) > 0;   }   //將第index位設為1   public static byte SetBit(this byte b, int index)   {      b |= (byte)(1 < <  index);      return b;  }  //將第index位設為0  public static byte ClearBit(this byte b, int index)  {      b &= (byte)((1 < <  8) - 1 - (1 < <  index));      return b;  }  //將第index位取反  public static byte ReverseBit(this byte b, int index)  {      b ^= (byte)(1 < <  index);      return b;  }

byte常用擴展應用七:保存為文件

public static void Save(this byte[] data, string path)  {      File.WriteAllBytes(path, data);  }

byte常用擴展應用八:轉換為內存流

public static MemoryStream ToMemoryStream(this byte[] data)  {      return new MemoryStream(data);  }

感謝各位的閱讀!關于“byte常用擴展有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青海省| 云和县| 惠安县| 拉孜县| 昌宁县| 遂溪县| 瑞金市| 洛川县| 新安县| 大丰市| 西和县| 凉山| 英吉沙县| 济源市| 应城市| 岐山县| 保康县| 手机| 丽江市| 海城市| 若尔盖县| 平江县| 大同县| 绥滨县| 玉溪市| 盘山县| 安丘市| 南华县| 时尚| 项城市| 永丰县| 淮南市| 桓仁| 高陵县| 乌恰县| 彰化市| 安溪县| 明光市| 井陉县| 桑日县| 巴林左旗|