C# 中byte[]数据转化相关操作

一、int、float、double转byte[]

均使用System.BitConverter.GetBytes()。

1 int iii = 1;
2 float fff = 1234.12346f;
3 double ddd = 12.1264567;
4
5 byte[] b1,b2 = new byte[4];
6 byte[] b3 = new byte[8];
7 b1 = BitConverter.GetBytes(iii);
8 b2 = BitConverter.GetBytes(fff);
9 b3 = BitConverter.GetBytes(ddd);

二、string转byte[]

1 string str1 = "11111111";
2 byte[] b4 = Encoding.Default.GetBytes(str1);

三、byte[]转int、float、double、string

还是用BitConverter

byte[] b5 = new byte[4] { 0x01, 0x02, 0x03, 0x04 };
byte[] b6 = new byte[8] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 }; int i2 = BitConverter.ToInt32(b5, 0);
float f2 = BitConverter.ToSingle(b5, 0);
double d2 = BitConverter.ToDouble(b6, 0);
string str2 = BitConverter.ToString(b6, 0);

四、两个byte[]之间截取、复制

用System.Array可以完成对数组的创建、搜索、复制等操作

1 byte[] b7 = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 };
2 byte[] b8 = new byte[2];
3 Array.Copy(b7, 2, b8, 0,2);

原文地址:https://www.cnblogs.com/jasminek/p/9341448.html

时间: 2024-08-29 17:05:49

C# 中byte[]数据转化相关操作的相关文章

重复记录(duplicate records)数据的相关操作

MySQL 中查找重复数据,删除重复数据 创建表和测试数据 /* 表结构 */ DROPTABLEIFEXISTS `t1`; CREATETABLEIFNOTEXISTS `t1`( `id` INT(1)NOTNULL AUTO_INCREMENT, `name` VARCHAR(20)NOTNULL, `add`VARCHAR(20)NOTNULL, PRIMARYKEY(`id`) )Engine=InnoDB; /* 插入测试数据 */ INSERTINTO `t1`(`name`,`

byte数据的常用操作函数[转发]

1 /// <summary> 2 /// 本类提供了对byte数据的常用操作函数 3 /// </summary> 4 public class ByteUtil 5 { 6 private static char[] HEX_CHARS = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; 7 private static byte[] BITS = {0x01, 0x02, 0x04, 0x0

OJ中字符串输入及相关操作

1.     输入数据方式 cin>>a>>b; char a[10]; cin.getline(a,5); char a,b,c; cin.get(a);cin.get(b);cin.get(c); 输入: AB CD 那么a的值为'A',b的值为'B',c的值为'\n\ getline(istream &in, string &s) 在头文件<iostream>中声明了getline函数: istream::getline istream&g

grails项目中(DB的相关操作)

save:保存Domain对象的数据到对应的库表中(可能是insert也可能是update) findBy: 动态方法,查找并返回第一条记录,方法名可以变化 eg:findByName("Tom") 会返回所有name属性为Tom的对象(只返回第一条记录) findByNameAndPassword("Tom","Mot")会返回所有name属性为"Tom"并且password属性为"mot"的对象 fin

数据库的连接 进行数据的相关操作

SQLite 是一种嵌入式数据库,它的数据库就是一个文件.由于 SQLite 本身是 C 写的,而且体积很小, Python 就内置了 SQLite3 ,所以,在 Python 中使用 SQLite ,不需要安装任何东西,直接使用. Python 定义了一套操作数据库的 API 接口,任何数据库要连接到 Python ,只需要提供符合 Python 标准的数据库驱动即可.由于 SQLite 的驱动内置在 Python 标准库中,因此可以直接来操作 SQLite 数据库. 在 Python 中操作

Python中的字符串及其相关操作

1.表示: 字符串可以用单引号或者双引号括起来,两者效果是完全一样的. 针对较长的字符串,也可以用三个引号括起来,即"""..."""或者'''...'''.引号里面再用与之不同类型的引号会被当做是普通字符,不会报错,如    '"Yes," he said.',或"doesn't". 2.换行: 字符串可以跨多行.一种方法是使用三引号:"""...""&q

JavaScript中的DOM及相关操作

一.什么是DOM JavaScript由ECMAScript.DOM和BOM三部分组成,其中DOM代表描述网页内容的方法和接口,即文档对象模型(Document Object Model).在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM,而树形结构就是我们常说的DOM树. 维基百科中介绍DOM更为准确:DOM是一种跨平台和语言非依赖性的应用程序编程接口,即处理现在的HTML,XHTML或XML文档作为树结构,其中每个节点是一个对象,每个节点表示

Object-C中动态类型对象相关操作汇总

Object-C(以后简称OC)中有id类型,相对于明确定义类型的静态类型,称为动态类型. 使用动态类型,配合多态(不同类型拥有同名方法),动态绑定(运行时决定实际调用的方法)可以将很多判断延迟到运行时决定,比如运行时才决定对象是某个类型,决定调用哪个类型的方法等.这样提高了灵活性,但是同样带来了风险,所以和支持动态类型的其他面向对象的语言一样,需要提供机制来做运行时判断,这样可以一定程度规避运行时错误. 看到一个动态类型的实例对象,我们都会习惯提出的问题: 1. 这个对象是属于某个类么?或者这

python中文件读写的相关操作及应用

1:既读又写 1 with open('数据',mode='r+',encoding='utf-8') as f: 2 print(f.read()) #输出结果:python与人工智能密切相关 3 f.write('java也不错') 4 print(f.read()) #输出结果:无输出 ,如果我们想打印 5 # 写入的内容,但是因为光标已经 6 # 移到了字符串的结尾了,所以这里我们 7 #可以使用tell()与seek()来确定位置 改进过后: 1 with open('数据', mod