当前位置:文档之家› 16进制数据z转数组,字符串

16进制数据z转数组,字符串

16进制数据z转数组,字符串
16进制数据z转数组,字符串

16进制数据转10进制数组

比如原来的十六进制数组为: byte hex[] = {0xFF, 0xFF, 0xFF, 0xFF}; 固定为4字节。

那么16进制的0xFFFFFFFF其对应的10进制值为4294967295, 需要转换成10进制数组为:

byte dec[] = {0x04, 0x02, 0x09, 0x04, 0x09, 0x06, 0x07, 0x02, 0x09, 0x05};

存储16进制数据的字节数组与字符串之间的互换

当字符串里存储的是16进制数据,现在想把它转化为字节数组,如:string aa=“0x3e56”,则转换为字节数组是byte[] bb=new byte[]{0x3E,0x56};

同样道理,当字节数组里存储的是16进制数据,现在想把它转化为字符串,如:byte[] bb=new byte[]{0x3E,0x56},则转化为字符串是string aa=“0x3e56”;

那下面就直接贴上实现代码;

(1)存储16进制数据的字符串转化为字节数组:

///

/// 把一个存储16进制数的字符串转化为存储16进制数的字节数组

///

/// 存储16进制数的字符串

/// 返回一个字节数组

public static byte[] StringToBytes(string HexString)

{

byte[] temdata = new byte[HexString.Length/2];

for (int i = 0; i < temdata.Length; i++)

{

temdata[i] = Convert.ToByte(HexString.Substring(i * 2, 2), 16);

}

return temdata;

}

(2)存储16进制的字节数组转化为字符串,下面有两种实现方法:

a)

/// 将16进制数转变为string

///

/// 16进制数组

/// bts_string

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;

}

b)

///

/// 把一个存储Hex数据的数组转换为string

///

/// 字节数组

/// string类型数据

public static string ToHexString(byte[] bytes) // 如0xae00cf => "AE00CF " {

string hexString = string.Empty;

if (bytes != null)

{

StringBuilder strB = new StringBuilder();

for (int i = 0; i < bytes.Length; i++)

{

strB.Append(bytes[i].ToString("X2"));

}

hexString = strB.ToString();

}

return hexString;

}

这只是实现了一个小的转换,在这里记录一下;

相关主题
文本预览
相关文档 最新文档