ByteArray的操作总结(复制、打印、位运算)
1. 字节数组的复制
Method A:Array.Clone()
Clone返回的是Object对象,需要强类型转换;Clone会创建一个新的对象,并将value赋给dec
byte[] src = new byte[];
byte[] dst= new byte[];
dst = (byte[])src.Clone();
Method B: Array.Coby
有多个重载版本
byte[] src = new byte[]; //原数组
byte[] dst = new byte[]; //目标数组
int srcOffset = ; //原数组偏移量
int dstOffset = ; //目标数组偏移量
Array.Copy(src, srcOffset, dec, dstOffset, dst.Length);
Method C: Buffer.BlockCopy
该方法最为常用
byte[] src = new byte[]; //原缓冲区
byte[] dst = new byte[]; //目标缓冲区
int srcOffset = ; //src字节偏移量,从0开始
int dstOffset = ; //dst字节偏移量,从0开始
Buffer.BlockCopy(src, srcOffset, dst, dstOffset, dst.Length);
2. 字节数组的转换
Method A: Print ByteArray
byte[] array = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04 };
string str = BitConverter.ToString(array);
//str = "00-01-02-03-04"
Method B: Encoding.Default.GetString(byteArray)
将数组中的所有字节解析为应字符串
byte[] array = new byte[] { 0xFE, 0xFE, 0xFE };
string str = Encoding.ASCII.GetString(array);
//str = "???"
Method C: 源类型未知
byte[] src = new byte[] { 0xFE, 0xFE, 0xFE };
StreamReader sr = new StreamReader(new MemoryStream(src));
string str = sr.ReadToEnd();
//str = "???"
3. 字符串转字节数组: Encoding.Default.GetBytes()
string str = "???";
byte[] bytes = Encoding.Default.GetBytes(str);
//bytes = [0xFE, 0xFE, 0xFE, 0xFE]
ByteArray的操作总结(复制、打印、位运算)的更多相关文章
- HUST 1605 Gene recombination(广搜,位运算)
题目描述 As a gene engineer of a gene engineering project, Enigma encountered a puzzle about gene recomb ...
- 【2018寒假集训 Day1】【位运算】翻转游戏
翻转游戏(flip) [问题描述] 翻转游戏是在一个 4 格×4 格的长方形上进行的,在长方形的 16 个格上每 个格子都放着一个双面的物件.每个物件的两个面,一面是白色,另一面是黑色, 每个物件要么 ...
- Numpy | 13 位运算
NumPy "bitwise_" 开头的函数是位运算函数.本章都是按二进制来操作的. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操 ...
- c#枚举位运算操作
抛出预设问题 需要有一个npc需要在一周中的,周一,周二,周三会出现,其他时间不可见 解决问题 因为一周时间是固定的,所以创建枚举类型比较合适,如下 enum Days { None, Sunday, ...
- 位运算之——按位与(&)操作——(快速取模算法)
学习redis 字典结构,hash找槽位 求槽位的索引值时,用到了 hash值 & sizemask操作, 其后的scan操作涉及扫描顺序逻辑,对同模的槽位 按一定规则扫描! 其中涉及位运算 ...
- 【Java基础】14、位运算之——按位与(&)操作——(快速取模算法)
学习redis 字典结构,hash找槽位 求槽位的索引值时,用到了 hash值 & sizemask操作, 其后的scan操作涉及扫描顺序逻辑,对同模的槽位 按一定规则扫描! 其中涉及位运算 ...
- java位运算(操作)的使用
位操作是程序设计中对位模式按位或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运算的运算速度通常与加法 ...
- 位运算 之(1) 按位与(AND)& 操作
文章作者:ktyanny 由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快. 按位与(Bitwise AND),运算符号为& a&b 的操作的结果:a.b中对应位 ...
- C 碎片九 预处理&位运算&文件操作
一.预处理 预处理语句:#开头的语句,在预处理阶段处理预处理语句.包括宏定义.文件包含处理.条件编译 1, 宏定义 1. 不带参数宏定义:#define 标识符 字符串 #define PI 3.1 ...
随机推荐
- FPGA视频拼接器的放大和缩小功能
视频视频器能够把信号源放大和缩小. 对于我们的拼接器而言,它的架构这种: 信号源进入到拼接器中.先进入缩小模块.然后存进DDR中.然后从DDR中读出视频.进入到放大模块,最后依据屏幕的位置,输出到屏幕 ...
- 51nod-1253: Kundu and Tree
[传送门:51nod-1253] 简要题意: 给出一棵n个点的树,树上的边要么为黑,要么为红 求出所有的三元组(a,b,c)的数量,满足a到b,b到c,c到a三条路径上分别有至少一条红边 题解: 显然 ...
- ES task管理
Task Management API The Task Management API is new and should still be considered a beta feature. Th ...
- Linux Screen命令使程序远离断网影响
linux中强大的screen命令2008-12-02 21:53今天发现了一个“宝贝”,就是Linux的screen命令,对于远程登录来说,不仅提供了类似于nohup的功能,而且提供了我非常喜欢的“ ...
- 爬取xml数据之R
生物信息很多时候要爬数据.最近也看了一些这些方面的. url<-"要爬取的网址" url.html<-htmlParse(url,encoding="UTF- ...
- hiho 1613 - 墨水滴 - bfs+优先队列 *
题目链接 小Ho有一张白纸,上面有NxN个格子.小Ho可以选择一个格子(X, Y),在上面滴一滴墨水.如果这滴墨水的颜色深度是G,那么这个格子也会被染成深度为G的格子.同时周围的格子也会被这滴墨水浸染 ...
- asp.net core 与EFcore 入门
什么是EFcore? Entity Framework (EF) Core 是轻量化.可扩展和跨平台版的常用 Entity Framework 数据访问技术,EF Core 可用作对象关系映射程序 ( ...
- freemarker加载模板文件的
java代码: public String getContent(String name, HashMap<String, Object> paramMap) { //home 文件路径 ...
- GET,POST请求
get请求 post请求
- pace.js 原理(转)
pace.js监控了什么: pace.js对于加载进度监控了什么呢?通过阅读源码,我们看到整体的进度有四个部分组成:document,elements,eventLag和ajax这四种监视器(Moni ...