C# Socket发送接收字节数组和十六16进制之间转换函数

近期在使用远程网络模块的时候,

需要用的Socket发送数据,远程模块指令为16进制。

官方提供的DEMO比较繁琐。不方便新手使用。

下面的转换函数可大大方便新手使用。

// 16进制字符串转字节数组   格式为 string sendMessage = "00 01 00 00 00 06 FF 05 00 64 00 00";
        private static byte[] HexStrTobyte(string hexString)
        {
            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).Trim(), 16);
            return returnBytes;
        }

        // 字节数组转16进制字符串
        public static string byteToHexStr(byte[] bytes)
        {
            string returnStr = "";
            if (bytes != null)
            {
                for (int i = 0; i < bytes.Length; i++)
                {
                    returnStr += bytes[i].ToString("X2");
                }
            }
            return returnStr;
        }
        //字节数组转16进制更简单的,利用BitConverter.ToString方法
        //string str0x = BitConverter.ToString(result, 0, result.Length).Replace("-"," ");
时间: 2024-08-10 02:09:30

C# Socket发送接收字节数组和十六16进制之间转换函数的相关文章

ColorUtil【Color工具类(color整型、rgb数组、16进制互相转换)】

版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 主要用于color整型.rgb数组.16进制互相转换(-12590395 <--> #3FE2C5 <--> [63,226,197]) 效果图 暂不需要 代码分析 color的int类型值转16进制类型值包括两种方案: 方案一:思路:计算&16777215的值,然后通过字符串获取16进制数值. /**Color的Int整型转Color的16进制颜色值[方案一] * colorInt - -12590395 * r

16进制数据流转换成C语言数组

在开发中经常遇到以下情况,通过一些工具捕获的16进制数据,应用到代码中,比如通过Wireshark抓获的数据包,观察到的程序内存数据. 但是在开发时,不能直接使用这些数据,需要转换如下样子,才可以在代码中使用: 我写了一个小工具,可以将二进制数据流转换成数组,代码如下: // FileNameToArray.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include

用数组实现十进制与其他进制的转换

class ArrayTest { public static void main(String[] args) { tohex(60); } //十进制转十六进制 public static void toHex(int num){ trans(num,15,4); } //十进制转二进制] public static void toBinary(int num){ trans(int num,1,1); } //十进制转八进制 public static void toOctal(int n

C# 16进制与字符串、字节数组之间的转换(转)

1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串   //十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2)); //十进制转八进制 Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8)); //十进制转十六进制 Console.WriteLine("十进制166的十六进制表示: "+C

Java字节数组和16进制字符串的互相转化

背景基础知识: 1.字符编码的相关知识(转自http://blog.csdn.net/llwan/article/details/7567906) 1.1. "字符"是由数字来表示的 先来重新了解一下计算机是如何处理"字符"的,这个原理是大家必须记住的,特别是在用JAVA写程序的时候,万万不可模糊.我们知道,计算机把任何东西都用数字来表示,"字符"也不例外.比如我们要显示一个阿拉伯数字"3",在我们的PC里,其实并不是仅仅用一

字节、16进制、二进制

字节代表8个二进制位 16进制,代表四个二进制 所以字节用两个16进制来表示,在java中字节的取值范围为 -128~127 字节转16进制 public String bytesToHexString(byte[] bArr) { StringBuffer sb = new StringBuffer(bArr.length); String sTmp; for (int i = 0; i < bArr.length; i++) { sTmp = Integer.toHexString(0xFF

byte[]数组与16进制字符串的相互转换

1.将byte[]数组转换成16进制字符 /** * 将byte[]数组转换成16进制字符.一个byte生成两个字符,长度对应1:2 * @param bytes,输入byte[]数组 * @return 16进制字符 */ public static String byte2Hex(byte[] bytes) { if (bytes == null) { return null; } StringBuilder builder = new StringBuilder(); // 遍历byte[

C# 16进制与字符串、字节数组之间的转换

1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串 //十进制转二进制 Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2)); //十进制转八进制 Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8)); //十进制转十六进制 Console.WriteLine("十进制166的十六进制表示: "+Con

串口调试助手-发送数据,按字符或16进制显示接收数据的C#程序

一. 新手上路,一般几种方法来学习VS2010的C#编程: 1.查阅各种书籍和技术文档,传统而耗时: 2.借助视频教程快速上手,省事有效却无法掌握一些小细节,写起程序来,各种调试不通过,还是浪费时间: 3.直接采用网络大神的程序,在运行成功的前提下,再仔细消化各种精髓,方法虽然高效,但也是建立在作者编写文档友好的情况下. 对于以上的第一种适合那种不着急项目进度,只管自己开心满足自己兴趣的新手,第二种适合那种需要赶进度.不需要太注意小细节的项目,第三种属于技术渣,为了像我这种技术渣的新手们上路更轻