C# byte[] 、int 和 string 互转

news/2024/11/24 19:26:18/

1、int整形转为byte[]数组:高位存储在前,低位存储在后    

public static byte[] IntToByte(this int source, int fromebase = 4)
{List<byte> buff = new List<byte>();for (int i = fromebase - 1; i >= 0; i--){buff.Add((byte)(source>>(8 * i)));}return buff.ToArray();
}

2、字符串转对应ASCII码,byte[]数组    

    public static byte[] StringToByte(this string source){return Encoding.Default.GetBytes(source);}

3、十六进制字符串数组转为byte[]数组   

    public static byte[] HexStringToByte(this string source){if (string.IsNullOrEmpty(source))return new byte[0];List<byte> buff = new List<byte>();for (int i = 0; i < source.Length; i += 2){buff.Add(Convert.ToByte(source.Substring(i, 2), 16));}return buff.ToArray();}

4、获取byte[]指定的区域的数组,offset:首地址;count:个数

    public static byte[] GetBytes(this byte[] source, int offset, int count){byte[] buff = new byte[count];int total = offset + count;int index = 0;for (int i = offset; i < total; i++){buff[index] = source[i];index++;}return buff;}

5、byte转为十六进制字符串 并补位  

    public static string ToHexString(this byte b){return b.ToString("X2");}

6、指定byte[]区域内 转十六进制字符串

    public static string ToHexString(this byte[] datas, int offset, int count){StringBuilder str = new StringBuilder();int total = offset + count;for (int i = offset; i < total; i++){str.Append(datas[i].ToString("X2"));}return str.ToString();}

7、byte转int字符串

    public static string ToIntString(this byte b){return b.ToString("D");}

8、byte[]转int字符串

    public static string ToIntString(this byte[] datas, int offset, int count){StringBuilder str = new StringBuilder();int total = offset + count;for (int i = offset; i < total; i++){str.Append(datas[i].ToString("D"));}return str.ToString();}

9、byte[]转int字符串,split:分割字符串

    public static string ToIntString(this byte[] datas, int offset, int count, string split = ""){StringBuilder str = new StringBuilder();int total = offset + count;for (int i = offset; i < total; i++){if (i > offset){str.Append(split);}str.Append(datas[i].ToString("D"));}return str.ToString();}

10、整形转byte[]数组:BitConverter.GetBytes,低位在前,高位在后;以字节数组的形式返回指定的 32 位有符号整数值。返回为4的字节数组

int iResult = 20000;
byte[] array = BitConverter.GetBytes(iResult);

11、byte[]数组转整形:BitConverter.ToInt32,低位在前,高位在后

byte[] array = new byte[4]{0x01,0x02,0x03,0x04};
BitConverter.ToInt32(datas,array);

**************************************************************************************************************


http://www.ppmy.cn/news/789717.html

相关文章

MySQL数据库介绍流程(最新mysql)

版本介绍 第一步&#xff1a;下载MySQL数据库 1、下载地址&#xff1a;http://dev,mysql.com/downloads/windows/installer/8.0html 2、就是直接搜索&#xff1a;mysql官方 msyql官方网站 这里就安装成功 第二步&#xff1a;这么启动和停止mysql 第三步&#xff1a;这么快捷停…

如何共享OneNote笔记本

发起方&#xff1a; 1、打开OneNote&#xff0c;选择准备共享的笔记本&#xff0c;右键选择“共享次笔记本&#xff1b; 2、选择“与人共享”&#xff0c;在右侧输入接收方的电子右键地址&#xff0c;选择可编辑还是可查看&#xff0c;最后点击下方共享按钮&#xff1b; 3、…

微软笔记本

碰到一个问题 有登录密码 跟pin 一般是输入pin 刚重置后提示要输入密码 一时拿不到打算用pe工具填账号进去 没成功 https://www.52pojie.cn/thread-520647-1-1.html进去提示要认证码 跳过 进不到c盘 当前盘是x上面方法就用不了然后进入网络模式 看到用PIN码登录 就进去…

鸭梨笔记本上市!!!超越苹果和微软!!

由MunanSoft科技公司开发的全新一代笔记本电脑&#xff01;&#xff01;鸭梨笔记本上市&#xff01;&#xff01;日前&#xff0c;MunanSoft在联合国全球科技博览会发布了最新一代的鸭梨笔记本&#xff0c; 应其高性能高性价和艺术感十足的设计在博览会上完败微软&#xff0c;苹…

OneNote for Windows 10 快捷键大全

OneNote for Windows 10 快捷键 自微软官方快捷键文档&#xff1a; Keyboard shortcuts in OneNote (microsoft.com) 目录 文章目录 OneNote for Windows 10 快捷键目录常用快捷方式仅使用键盘导航 OneNote for Windows 10键入和编辑笔记设置笔记的格式向页面添加项使用表格…

笔记本怎么重装系统win11

win11系统是微软目前发布的最新的操作系统,有很多用户都升级体验了下,我们都知道现在笔记本基本上都是预装的win10系统&#xff0c;那么红米笔记本怎么重装系统win11呢?下面&#xff0c;小编就把红米笔记本重装系统win11的步骤教程分享给大家。 工具/原料&#xff1a; 操作系…

在微软工作100天,谈谈我眼中的微软

自从去年年底加入了苏州微软&#xff0c;不知不觉中我已经在这里工作100天了。 通过这100天的时间&#xff0c;我想我大概已经适应了这边的工作节奏&#xff0c;和身边的同事们也都比较熟悉了。因此现在我想写一篇文章&#xff0c;谈谈我眼中的微软是什么样的。 当然&#xff0…

surfacego2能跑matlab吗,SurfaceGo2笔记本值得入手吗 Surface Go 2笔记本评测

对于商务人士来说&#xff0c;在选购笔记本电脑的时最关注哪个卖点呢&#xff1f;想必大家都有了答案&#xff0c;那就是轻薄与便携&#xff0c;对于经常移动办公的商务人士来说&#xff0c;一台轻薄便携的笔记本电脑将会带来极大的幸福感。在今年5月份&#xff0c;微软对Surfa…