十六进制字符串如何转byte[]?

heeye 2019-04-02 11:38:12
一个项目用到了串口通讯控制设备,指令为0x05,0x3E,0x00,0x5E
如果直接声明一个byte[] a = new byte[0x05,0x3E,0x00,0x5E];这样是可以正常使用的,
问题是现在把0x05,0x3E,0x00,0x5E按字符串保存在数据库了,怎么才能正确转换为byte[]?
...全文
232 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
stherix 2019-04-02
  • 打赏
  • 举报
回复
引用 4 楼 heeye 的回复:
[quote=引用 2 楼 stherix 的回复:] 上面有问题,应该还要把0x去掉 var str = "0x05,0x3E,0x00,0x5E"; var bytes = str.Split(',').Select(x => byte.Parse(x.SubString(2)), System.Globalization.NumberStyles.HexNumber)).ToArray();
这句还是不行,不能正常运行[/quote] 手打的,括号不太对 var str = "0x05,0x3E,0x00,0x5E"; var bytes = str.Split(',').Select(x =>byte.Parse(x.Substring(2), System.Globalization.NumberStyles.HexNumber)).ToArray(); 这个应该没问题了
heeye 2019-04-02
  • 打赏
  • 举报
回复
引用 2 楼 stherix 的回复:
上面有问题,应该还要把0x去掉
var str = "0x05,0x3E,0x00,0x5E";
var bytes = str.Split(',').Select(x => byte.Parse(x.SubString(2)), System.Globalization.NumberStyles.HexNumber)).ToArray();

是我写错了,不好意思。可以正常使用了,非常感谢!
heeye 2019-04-02
  • 打赏
  • 举报
回复
引用 2 楼 stherix 的回复:
上面有问题,应该还要把0x去掉
var str = "0x05,0x3E,0x00,0x5E";
var bytes = str.Split(',').Select(x => byte.Parse(x.SubString(2)), System.Globalization.NumberStyles.HexNumber)).ToArray();


这句还是不行,不能正常运行
heeye 2019-04-02
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
var str = "0x05,0x3E,0x00,0x5E";
var bytes = str.Split(',').Select(x => byte.Parse(x, System.Globalization.NumberStyles.HexNumber)).ToArray();


我测试了,VS报错,输入字符串的格式不正确,求解
stherix 2019-04-02
  • 打赏
  • 举报
回复
上面有问题,应该还要把0x去掉 var str = "0x05,0x3E,0x00,0x5E"; var bytes = str.Split(',').Select(x => byte.Parse(x.SubString(2)), System.Globalization.NumberStyles.HexNumber)).ToArray();
stherix 2019-04-02
  • 打赏
  • 举报
回复
var str = "0x05,0x3E,0x00,0x5E"; var bytes = str.Split(',').Select(x => byte.Parse(x, System.Globalization.NumberStyles.HexNumber)).ToArray();

110,561

社区成员

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

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

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