C#: BitConverter 字节数组byte[ ] 转各种数据类型用法列举
说明:C# BitConverter 字节数组byte[ ] 转各种数据类型用法示例
1.ToBoolean(byte[] value, int startIndex):将指定字节数组中从指定索引开始的两个字节转换为布尔值。
byte[] bytes = { 1, 0 };
bool result = BitConverter.ToBoolean(bytes, 0); // 输出:true
2.ToChar(byte[] value, int startIndex):将指定字节数组中从指定索引开始的两个字节转换为Unicode字符。
byte[] bytes = { 65, 66 };
char result = BitConverter.ToChar(bytes, 0); // 输出:'A'
3.ToInt16(byte[] value, int startIndex):将指定字节数组中从指定索引开始的两个字节转换为16位有符号整数。
byte[] bytes = { 0xFF, 0x7F };
short result = BitConverter.ToInt16(bytes, 0); // 输出:-129
4.ToInt32(byte[] value, int startIndex):将指定字节数组中从指定索引开始的四个字节转换为32位有符号整数。
byte[] bytes = { 0xFF, 0xFF, 0xFF, 0x7F };
int result = BitConverter.ToInt32(bytes, 0); // 输出:-1
5.ToInt64(byte[] value, int startIndex):将指定字节数组中从指定索引开始的八个字节转换为64位有符号整数。
byte[] bytes = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F };
long result = BitConverter.ToInt64(bytes, 0); // 输出:-1
6.ToSingle(byte[] value, int startIndex):将指定字节数组中从指定索引开始的四个字节转换为单精度浮点数。
byte[] bytes = { 0x41, 0x48, 0x00, 0x00 };
float result = BitConverter.ToSingle(bytes, 0); // 输出:12.5
7.ToDouble(byte[] value, int startIndex):将指定字节数组中从指定索引开始的八个字节转换为双精度浮点数。
byte[] bytes = { 0x40, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
double result = BitConverter.ToDouble(bytes, 0); // 输出:10.0
8.ToString(byte[] value, int startIndex, int length):将指定字节数组中从指定索引开始的指定长度的字节转换为对应16进制字符串。
byte[] bytes = { 72, 101, 108, 108, 111 };
string result = BitConverter.ToString(bytes, 0, 5); // 输出:"48-65-6C-6C-6F"
9.将字节数组转换为16位无符号整数:
byte[] bytes = { 0x01, 0x02 };
ushort value = BitConverter.ToUInt16(bytes, 0);
Console.WriteLine(value); // 输出:258
10.将16位无符号整数转换为字节数组:
ushort value = 258;
byte[] bytes = BitConverter.GetBytes(value);
Console.WriteLine(BitConverter.ToString(bytes)); // 输出:01-02
11.将字节数组转换为字符串表示:
byte[] bytes = { 0x41,0x42, 0x43 };
string str = BitConverter.ToString(bytes);
Console.WriteLine(str); // 输出:41-42-4312.
12.将字符串表示转换为字节数组:
string str = "41-42-43";
string[] strArray = str.Split('-');
byte[] bytes = new byte[strArray.Length];
for (int i = 0; i < strArray.Length; i++)
{bytes[i] = Convert.ToByte(strArray[i], 16);
}
Console.WriteLine(BitConverter.ToString(bytes)); // 输出:41-42-43
13.将其他基本数据类型转换为字节数组:
int value = 123;
byte[] bytes = BitConverter.GetBytes(value);
Console.WriteLine(BitConverter.ToString(bytes)); // 输出:7B-00-00-00
14.将字节数组转换为其他基本数据类型:
byte[] bytes = { 0x7B, 0x00, 0x00, 0x00 };
int value = BitConverter.ToInt32(bytes, 0);
Console.WriteLine(value); // 输出:123
相关文章:
C#: BitConverter 字节数组byte[ ] 转各种数据类型用法列举
说明:C# BitConverter 字节数组byte[ ] 转各种数据类型用法示例 1.ToBoolean(byte[] value, int startIndex):将指定字节数组中从指定索引开始的两个字节转换为布尔值。 byte[] bytes { 1, 0 }; bool result BitConverter.ToBoolean(bytes, 0); // 输…...
【开发实践】前端jQuery+gif图片实现载入界面
一、需求分析 载入界面(Loading screen)是指在计算机程序或电子游戏中,当用户启动应用程序或切换到新的场景时,显示在屏幕上的过渡界面。它的主要作用是向用户传达程序正在加载或准备就绪的信息,以及提供一种视觉上的反…...
解析消费全返:谈谈那些关于商业的小妙招
每天五分钟讲解商业模式,大家好我是模式策划啊浩。 在数字化时代,商业模式正在经历前所未有的变革。其中,消费全返的概念正在逐渐崭露头角,引领着商业创新的新潮流。消费全返,顾名思义,是指消费者在购买商…...
如何在MinIO存储服务中通过Buckets实现远程访问管理界面上传文件
文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统,它可以100%的运行在标准硬件上,即X86等…...
算法 - 二分法 / 双指针 / 三指针 / 滑动窗口
文章目录 🍺 二分法🍻 旋转数组🥂 33. 搜索旋转排序数组 [旋转数组] [目标值] (二分法) 🍻 元素边界🥂 34. 在排序数组中查找元素的第一个和最后一个位置 [有序数组] > [元素边界] > (二分法)🥂 81. …...
ChatGPT3.5、GPT4.0、DALL·E 3和Midjourney对话与绘画智能体验
MidTool(https://www.aimidtool.com/)是一个集成了多种先进人工智能技术的助手,它融合了ChatGPT3.5、GPT4.0、DALLE 3和Midjourney等不同的智能服务,提供了一个多功能的体验。下面是这些技术的简要介绍: ChatGPT3.5&am…...
MySQL中锁的概述
按照锁的粒度来分可分为:全局锁(锁住当前数据库的所有数据表),表级锁(锁住对应的数据表),行级锁(每次锁住对应的行数据) 加全局锁:flush tables with read lo…...
5396. 棋盘
5396. 棋盘 - AcWing题库 二维差分数组 #include <iostream> #include <vector> using namespace std;int main() {int n, m;cin >> n >> m;vector<vector<int>> v(n 2, vector<int>(n 2));while (m--) {int x1, x2, y1, y2;cin…...
阿里云地域和可用区分布表,2024更新
2024年阿里云服务器地域分布表,地域指数据中心所在的地理区域,通常按照数据中心所在的城市划分,例如华北2(北京)地域表示数据中心所在的城市是北京。阿里云地域分为四部分即中国、亚太其他国家、欧洲与美洲和中东&…...
Pandas实战100例 | 案例 49: 数值运算
案例 49: 数值运算 知识点讲解 Pandas 提供了进行基本数学运算的简便方法,允许你在 DataFrame 的列之间执行加法、减法、乘法和除法等操作。 数值运算: 直接对 DataFrame 的列应用算术运算符(+, -, *, /)可以执行相应的数值运算。示例代码 # 准备数据和示例代码的运行结果…...
OSI七层协议和五层协议
【 1 】互联网协议交互的基础 硬件设备 光缆 【 2 】OSI七层协议 物理层(Physical Layer):负责传输比特流(0和1)以及物理连接的建立和维护。数据链路层(Data Link Layer):提供可…...
深度学习记录--归—化输入特征
归化 归化输入(normalizing inputs),对特征值进行一定的处理,可以加速神经网络训练速度 步骤 零均值化 通过x值更新让均值稳定在零附近,即为零均值化 归化方差 适当减小变量方差 解释 归化可以让原本狭长的数据图像变得规整,梯度下降的…...
Go Build编译打包文件
Go编译打包文件 1、简单打包 程序 main1.go: package mainimport "fmt"func main() {fmt.Println("Hello World!") }打包: # 在linux服务上执行下面的3个命令 # linux平台,生成main1可执行程序 CGO_ENABLED0 GOOSlinux GOARCHam…...
Java网络编程:概述--快速入门
I. 介绍 1.1 什么是网络编程 - 网络编程是指通过计算机网络实现程序之间的通信。在Java中,网络编程通常涉及到数据的传输、通信协议的使用以及与网络相关的各种操作。 1.2. 为什么学习Java网络编程 - Java网络编程是Java开发者重要的技能之一,因为它允许…...
linux配置DNS主从服务器
实验设备 主服务器:OpenElur Linux IP地址为192.168.188.129 从服务器:RedHat Linux IP地址为192.168.188.128 实验步骤 1.进行主服务器的基础配置 #安装DNS对应工具 [rootOpenElurRJW ~]# yum install bind -y#编辑DNS系统配置信息 [rootOpenElurRJW ~]# cat /etc/named.…...
Day34 贪心算法 part03 1005. K 次取反后最大化的数组和 134. 加油站 135. 分发糖果
贪心算法 part03 1005. K 次取反后最大化的数组和 134. 加油站 135. 分发糖果 1005. K 次取反后最大化的数组和 思路 第一步,从前向后遍历,遇到负数将其变为正数,同时K–第二步:如果K还大于0,那么反复转变数值最小的…...
最全对象存储(云盘)挂载本地主机或服务器
1.对象存储介绍 1.1 分类 分布式存储的应用场景相对于其存储接口,现在流行分为三种: 块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,块存储一般…...
24校招,江淮汽车软件测试工程师技术面+HR面
前言 记录一下楼主的面试经历,希望对后来者有用 时间:15min 平台:腾讯会议 过程 技术面试 自我介绍 为啥不考研 实习收获 你有做过软件开发的工作吗? 除了Java和Python,还会其他的语言吗? 学过C吗…...
从零开始学习Zeppelin:大数据可视化分析的交互式开发系统!
介绍:Apache Zeppelin是一个基于Web的交互式开发系统,主要用于进行大数据可视化分析。其核心概念是notebook,所有的操作都可以在notebook中完成。Zeppelin提供了一套非常全面的数据分析解决方案,支持数据采集、数据发现、数据分析…...
VCG 曲面重建之滚球算法
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 滚球算法(BPA)是一种与alpha形状相关的曲面重建方法。直观地想象一个具有给定半径的3D球,我们把它扔在点云上。如果它击中任何3个点(并且它没有穿过这3个点),它就创造了一个三角形。然后,算法从现有三角形的边缘…...
暴力检测新思路:如何用HL-Net和弱监督技术提升多模态识别准确率?
多模态暴力检测技术革新:HL-Net与弱监督学习的实战解析 暴力行为检测一直是计算机视觉和音频分析领域的重要挑战。传统的暴力检测方法往往受限于单一模态输入、高昂的标注成本以及有限的场景适应性。本文将深入探讨如何通过HL-Net架构和弱监督学习技术,构…...
OpenClaw v2026.3.24-beta.1 深度技术分析报告:体验、生态与协作的“精装修”
报告版本: 1.1分析基准: v2026.3.23 (稳定化修复版本) -> v2026.3.24-beta.1 (预发布版)核心论点: 在经历了v2026.3.22的“架构大换血”与v2026.3.23的“系统性修复”之后,v2026.3.24-beta.1标志着OpenClaw的迭代节奏进入了一个…...
Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF小白友好测评:vLLM部署是否真的简单?生成效果如何?
Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF小白友好测评:vLLM部署是否真的简单?生成效果如何? 1. 引言:从零开始的模型部署体验 作为一个刚接触大模型部署的新手,我最近尝试用vLLM部署了Qwen3-4B-Thinking-25…...
别再死记硬背了!用一次完整的网页访问,帮你彻底搞懂HCIA/HCIP里的TCP/IP和OSI模型
从输入网址到页面加载:用真实场景拆解TCP/IP与OSI模型 想象一下这个场景:你在浏览器地址栏输入"www.baidu.com",按下回车键,不到一秒就看到了熟悉的搜索页面。这看似简单的操作背后,隐藏着一场精密的网络协议…...
别再死磕EKF了!用ESKF搞定无人机姿态估计,避开‘大数吃小数’的坑
无人机姿态估计实战:用ESKF避开EKF的数值陷阱 四轴飞行器在高速翻滚时,IMU数据突然出现剧烈抖动——这是去年调试自主无人机时遇到的真实场景。当时使用传统EKF算法,姿态解算在极端机动下频繁发散,直到切换到误差状态卡尔曼滤波&a…...
K8S-etcd集群节点数据不一致的修复与恢复
1. 当etcd集群出现数据不一致时会发生什么 想象一下你正在管理一个三节点的Kubernetes集群,突然发现其中一个节点的etcd服务无法启动。这种情况就像乐队中的小提琴手突然走调,整个乐团的演奏都会受到影响。etcd作为Kubernetes的"大脑"…...
ArcGIS里坐标系搞混了怎么办?一份拯救‘空间参考错误’数据的实战排查指南
ArcGIS坐标系混乱急救手册:从定位问题到精准修复的全流程指南 当你在ArcGIS中加载多个来源的空间数据时,是否遇到过这些令人抓狂的场景?精心收集的行政边界图层突然跑到了撒哈拉沙漠;水文监测点数据明明采集于长江流域,…...
OpenClaw批量处理妙用:Qwen3.5-9B同时校对100篇Markdown格式
OpenClaw批量处理妙用:Qwen3.5-9B同时校对100篇Markdown格式 1. 为什么需要批量Markdown校对 作为技术文档写作者,我经常需要处理大量Markdown文件。最让我头疼的问题不是内容创作,而是格式规范——标题层级错乱、中英文混排空格缺失、列表…...
雪女-斗罗大陆-造相Z-Turbo环境配置:MATLAB与AI模型的联合仿真
雪女-斗罗大陆-造相Z-Turbo环境配置:MATLAB与AI模型的联合仿真 最近在折腾一个挺有意思的项目,想把MATLAB强大的工程计算能力和现在流行的AI生成模型结合起来。你可能也遇到过类似的情况:用MATLAB跑完一堆仿真,生成了海量的数据和…...
AI智能文档扫描仪轻量级优势:适用于边缘设备的部署实践
AI智能文档扫描仪轻量级优势:适用于边缘设备的部署实践 1. 为什么轻量级文档扫描在边缘场景中不可替代 你有没有遇到过这样的情况:在客户现场调试工业设备时,需要快速扫描一份维修手册;在仓库盘点时,要即时拍下纸质入…...
