C#操作Byte数组和十六进制进行互转

一、Byte 数组转十六进制字符串

 		/// <summary>
        /// Byte 数组转十六进制字符串
        /// </summary>
        /// <param name="Bytes"></param>
        /// <returns></returns>
        public static string ByteToHex(byte[] Bytes)
        {
            string str = string.Empty;
            foreach (byte Byte in Bytes)
            {
                str += String.Format("{0:X2}", Byte) + " ";
            }
            return str.Trim();
        }

二、字符串转十六进制Byte数组

        /// <summary>
        /// 字符串转十六进制Byte数组
        /// </summary>
        /// <param name="hexString"></param>
        /// <returns></returns>
        public static byte[] strToToHexByte(string hexString)
        {
            try
            {
                hexString = hexString.Replace(" ", "");
                if ((hexString.Length % 2) != 0)
                    hexString += " ";
                byte[] returnBytes = new byte[hexString.Length / 2];
                for (int i = 0; i < returnBytes.Length; i++)
                    returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
                return returnBytes;
            }
            catch
            {
                return null;
            }

        }

到此这篇关于C#操作Byte数组和十六进制进行互转的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C# 汉字与拼音互转的实现示例

    这个功能,大家也都可以去百度以下,千篇一律都自己写的(抄的)封装好的公共类,此处还是得膜拜下原创的大佬,可以花时间去搞这个,我看着都头皮发麻. 对于一个有代码洁癖的码农来说,我并不喜欢那种方式(自己抄下来封装?那我图个啥?),所以我们直接从NuGet去获取一个封装好的DLL:NPinyin 此DLL提供了三个方法(重载不算) 汉字转拼音拼音转汉字(单字)获取汉字的拼音首字母 实现功能: 输入汉字获取拼音或者拼音的首字母,输入拼音获取对应的汉字 开发环境: 开发工具: Visual Studio

  • C#实现时间戳与标准时间的互转

    目录 前言 1.标准时间转时间戳的方法 2.时间戳转为标准时间 3.TimeZone.CurrentTimeZone.ToLocalTime()方法 补充 前言 C# 时间戳与 标准时间的转其实不难,但需要注意下,基准时间的问题. 格林威治时间起点: 1970 年 1 月 1 日的 00:00:00.000 北京时间起点:1970 年 1 月 1 日的 08:00:00.000 昨天我在这里踩坑了,我用的是格林威治时间计算的时间戳,给计算机监控系统.计算机监控系统拿到时间戳换算后的时间总是跟我的

  • C# 进制转换的实现(二进制、十六进制、十进制互转)

    由于二进制数在C#中无法直接表示,所以所有二进制数都用一个字符串来表示 例如: 二进制: 1010 表示为 字符串:"1010"  int d = 10; //十进制转二进制字符串 Console.WriteLine(Convert.ToString(d,2)); //输出: 1010 //十进制转十六进制字符串 Console.WriteLine(Convert.ToString(d,16)); //输出: a //二进制字符串转十进制数 string bin = "101

  • C#使用NPOI实现Excel和DataTable的互转

    什么是NPOI? NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作. NPOI是一个开源的C#读写Excel.WORD等微软OLE2组件文档的项目. 使用NuGet安装NPOI NuGet直接搜索NPOI,目前版本是v2.4.1,将其安装至项目即可. 安装完成后,项目会自动为我们添加这4个引用 同时还需要在程序中引入NPOI.SS.UserModel;NPOI.XSSF.UserModel;NPOI.HSSF.U

  • C# DataTable与Model互转的示例代码

    /// <summary> /// 实体转换辅助类 /// </summary> public class ModelConvertHelper<T> where T : new() { /// <summary> /// List泛型转换DataTable. /// </summary> public DataTable ListToDataTable<T>(List<T> items) { var tb = new D

  • C#实现Array,List,Dictionary相互转换

    一.代码实例实现功能 将Array转换为List 将List转换为Array 将Array转换为Dictionary 将Dictionary转换为Array 将List转换为Dictionary 将Dictionary转换为List 二.代码实现 学生类 class Student { public int Id { get; set; } public string Name { get; set; } public string Gender { get; set; } } 转换实现代码 s

  • C#byte数组与Image的相互转换实例代码

    C#byte数组与Image的相互转换实例代码 功能需求: 1.把一张图片(png bmp jpeg bmp gif)转换为byte数组存放到数据库. 2.把从数据库读取的byte数组转换为Image对象,赋值给相应的控件显示. 3.从图片byte数组得到对应图片的格式,生成一张图片保存到磁盘上. 这里的Image是System.Drawing.Image. //Get an image from file Image image = Image.FromFile("D:\\test.jpg&q

  • C#中enum和string的相互转换

    C# Json转换操作 枚举类型 Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型,如果没有显式声明基础类型,则使用Int32. 注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值 1.C#将枚举转为字符串(enume->string) 我们的对象中包含枚举类型,在序列化成Json字符串的时候,显示的是枚举类型对应的数字.因为这是枚举的 本质所在,但是很多时候需要在JSON转化的时候做一些操作,使之显示字符串,因为用户需要字符串. 方法就是:在枚举类型

  • C#实现实体类和XML的相互转换

    一.实体类转换成XML 将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化 public static string XmlSerialize<T>(T obj) { using (StringWriter sw = new StringWriter()) { Type t= obj.GetType(); XmlSerializer serializer = new XmlSerializer(obj.GetType()); serializer.

  • C#操作Byte数组和十六进制进行互转

    一.Byte 数组转十六进制字符串 /// <summary> /// Byte 数组转十六进制字符串 /// </summary> /// <param name="Bytes"></param> /// <returns></returns> public static string ByteToHex(byte[] Bytes) { string str = string.Empty; foreach (by

  • C#中的小数和百分数计算与byte数组操作

    一.百分数 //按照四舍五入的国际标准 string p1 = (Math.Round(0.333367, 4)*100).ToString() + "%";//33.34% double dbdata = Math.Round((double)1 / (double)3, 5) * 100;//33.333 string p2 = String.Format("{0:F}", dbdata) + "%";//默认为保留两位 二.进制保留 带小数

  • java byte数组与int,long,short,byte的转换实现方法

    实例如下: public class DataTypeChangeHelper { /** * 将一个单字节的byte转换成32位的int * * @param b * byte * @return convert result */ public static int unsignedByteToInt(byte b) { return (int) b & 0xFF; } /** * 将一个单字节的Byte转换成十六进制的数 * * @param b * byte * @return conv

  • 浅谈java的byte数组的不同写法

    (由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"byte数组"里面全部是"byte",即每一个byte都可以用二进制.十六进制.十进制来表示. 二进制:00010110----->0*2^8 + 0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0 = 22 16进制: 0x16 -----

  • Java 图片与byte数组互相转换实例

    实例如下: //图片到byte数组 public byte[] image2byte(String path){ byte[] data = null; FileImageInputStream input = null; try { input = new FileImageInputStream(new File(path)); ByteArrayOutputStream output = new ByteArrayOutputStream(); byte[] buf = new byte[

  • Java整型数与网络字节序byte[]数组转换关系详解

    本文实例讲述了Java整型数与网络字节序byte[]数组转换关系.分享给大家供大家参考,具体如下: 工作项目需要在java和c/c++之间进行socket通信,socket通信是以字节流或者字节包进行的,socket发送方须将数据转换为字节流或者字节包,而接收方则将字节流和字节包再转换回相应的数据类型.如果发送方和接收方都是同种语言,则一般只涉及到字节序的调整.而对于java和c/c++的通信,则情况就要复杂一些,主要是因为java中没有unsigned类型,并且java和c在某些数据类型上的长

  • java中两个byte数组实现合并的示例

    今天在于硬件进行交互的过程中,要到了了需要两个数组进行合并,然后对数组进行反转和加密操作,以下是两个byte数组合并的方法. /** * * @param data1 * @param data2 * @return data1 与 data2拼接的结果 */ public static byte[] addBytes(byte[] data1, byte[] data2) { byte[] data3 = new byte[data1.length + data2.length]; Syste

  • Java byte数组操纵方式代码实例解析

    字节数组的关键在于它为存储在该部分内存中的每个8位值提供索引(快速),精确的原始访问,并且您可以对这些字节进行操作以控制每个位. 坏处是计算机只将每个条目视为一个独立的8位数 - 这可能是你的程序正在处理的,或者你可能更喜欢一些强大的数据类型,如跟踪自己的长度和增长的字符串 根据需要,或者一个浮点数,让你存储说3.14而不考虑按位表示. 作为数据类型,在长数组的开头附近插入或移除数据是低效的,因为需要对所有后续元素进行混洗以填充或填充创建/需要的间隙. java官方提供了一种操作字节数组的方法-

  • java byte数组与16进制间相互转换的示例

    1.准备工作 import java.util.Arrays; /** * Byte[]与hex的相互转换 * @explain * @author Marydon * @creationTime 2018年6月11日下午2:29:11 * @version 1.0 * @since * @email marydon20170307@163.com */ public class ByteUtils { // 16进制字符 private static final char[] HEX_CHAR

  • 教你使用.NET快速比较两个byte数组是否相等

    目录 前言 评测方案 几种不同的方案 Memcmp 64字长优化 SIMD Sse Avx2 SequenceCompare 总结 参考文献 前言 之前在群里面有群友问过一个这样的问题,在.NET中如何快速的比较两个byte数组是否完全相等,听起来是一个比较两个byte数组是完全相等是一个简单的问题,但是深入研究以后,觉得还是有很多方案的,这里和大家一起分享下. 评测方案 这里为了评测不同方案的性能,我们用到了BenchmarkDotNet这个库,这个库目前已经被收入.NET基金会下,Bench

随机推荐