如何将一串string类型的16进制字符串转成byte[]数组?

boyyao 2011-06-11 10:50:02
比如如下一串字符串
080003005844967d
要转成
byte[] b = {0x08,0x00,0x03,0x00.......0x7d}
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzwlovevb 2011-06-12
  • 打赏
  • 举报
回复
string a="fdsfgfsdfsdfsd442342";
char[] b=convert.tochararray(a);
byte[] c=Encoding.Default.GetBytes(b);
Icedmilk 2011-06-11
  • 打赏
  • 举报
回复
用这个
Convert.ToByte


static void Main(string[] args)
{
string str = @"080003005844967d";
List<byte> bytes = new List<byte>();
for (int i = 0; i < str.Length; i += 2) {
string strTemp = str.Substring(i, 2);
byte b = Convert.ToByte(strTemp, 16);
bytes.Add(b);
}
byte[] result = bytes.ToArray();
foreach (byte b in result) {
Console.WriteLine("0x"+string.Format("{0:X}", b).PadLeft(2, '0'));
}
}
threenewbee 2011-06-11
  • 打赏
  • 举报
回复
string s = "080003005844967d";
byte[] b = new byte[s.Length / 2]
for (int i = 0; i < s.Length; i += 2)
b[i / 2] = Convert.ToByte("0x" + s.SubString(i, 2));

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧