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的操作总结(复制、打印、位运算)的更多相关文章

  1. HUST 1605 Gene recombination(广搜,位运算)

    题目描述 As a gene engineer of a gene engineering project, Enigma encountered a puzzle about gene recomb ...

  2. 【2018寒假集训 Day1】【位运算】翻转游戏

    翻转游戏(flip) [问题描述] 翻转游戏是在一个 4 格×4 格的长方形上进行的,在长方形的 16 个格上每 个格子都放着一个双面的物件.每个物件的两个面,一面是白色,另一面是黑色, 每个物件要么 ...

  3. Numpy | 13 位运算

    NumPy "bitwise_" 开头的函数是位运算函数.本章都是按二进制来操作的. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操 ...

  4. c#枚举位运算操作

    抛出预设问题 需要有一个npc需要在一周中的,周一,周二,周三会出现,其他时间不可见 解决问题 因为一周时间是固定的,所以创建枚举类型比较合适,如下 enum Days { None, Sunday, ...

  5. 位运算之——按位与(&)操作——(快速取模算法)

    学习redis 字典结构,hash找槽位 求槽位的索引值时,用到了 hash值 & sizemask操作, 其后的scan操作涉及扫描顺序逻辑,对同模的槽位 按一定规则扫描! 其中涉及位运算 ...

  6. 【Java基础】14、位运算之——按位与(&)操作——(快速取模算法)

    学习redis 字典结构,hash找槽位 求槽位的索引值时,用到了 hash值 & sizemask操作, 其后的scan操作涉及扫描顺序逻辑,对同模的槽位 按一定规则扫描! 其中涉及位运算 ...

  7. java位运算(操作)的使用

    位操作是程序设计中对位模式按位或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运算的运算速度通常与加法 ...

  8. 位运算 之(1) 按位与(AND)& 操作

    文章作者:ktyanny 由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快. 按位与(Bitwise AND),运算符号为& a&b 的操作的结果:a.b中对应位 ...

  9. C 碎片九 预处理&位运算&文件操作

    一.预处理 预处理语句:#开头的语句,在预处理阶段处理预处理语句.包括宏定义.文件包含处理.条件编译 1, 宏定义 1. 不带参数宏定义:#define 标识符  字符串 #define PI 3.1 ...

随机推荐

  1. Testbench的编写

    Testbench的作用,在于给我们编写的可综合代码的模块送入激励.即在我们波形仿真中用编写testbench来代替拖拽波形.其中还包括了我们硬件仿真与matlab仿真的联调建立(将matlab产生的 ...

  2. Cocos结构

    基类:CApplicationProtocol 纯虚函数virtual bool applicationDidFinishLaunching() = 0; CCApplication继承于CCAppl ...

  3. UISrcoll控件简单介绍

    UISrcoll控件,简单的说就是让界面滑动 当使用uiimageview的时候,给控件设置图片素材时,图片的大小会根据控件的大小,自动做缩放 当使用uibutton的时候,如果是设置背景图,name ...

  4. HD-ACM算法专攻系列(10)——大明A+B

    题目描述: 源码: 需要注意的一点是输出是最简形式,需要去除小数的后导0,而调用stripTrailingZeros()函数后,数会以科学计数法输出,所以需要调用toPlainString(). im ...

  5. DF标志和串传送指令

    DF标志和串传送指令 flag的第10位是DF,方向标志位.在串处理指令中,控制si.di的递减. df = 0 每次操作后si.di递增 df = 1 每次操作后si.di递减 串传送指令 格式1: ...

  6. Devexpress控件使用一:GridControl

    1.控件及列表展示 1).控件 2).构建表格,用于列表展示 3).gridControl绑定数据 4).调用绑定:BindDataSource(InitDt()); 5).展示列表 2.表格的列配置 ...

  7. js中es5 使用call方法继承实现 1.0

    function Parent(name){ this.name = name; this.showMess = function(){ return this.name; } } Parent.pr ...

  8. Mojo For Chromium Developers

    Overview This document contains the minimum amount of information needed for a developer to start us ...

  9. js判断浏览器的环境(pc端,移动端,还是微信浏览器)

    window.navigator.userAgent用来区分设备和浏览器 <!DOCTYPE html> <html> <head> <meta charse ...

  10. js常见语法错误

    “Missing semicolon.” : “缺少分号.”, “Use the function form of \”use strict\”.” : “使用标准化定义function.”, “Un ...