C# 2.0 中的十六进制到 byte[]

发布于 2024-11-10 07:06:14 字数 404 浏览 2 评论 0原文

假设有一个字符串 hexString = "0x12""0x45" 等。如何将字符串转换为另一个 byte[] ,如下所示。谢谢。

byte[] myByte = new byte[2];
myByte[0] = 0x1;
myByte[1] = 0x2;

或者

myByte[0] = 0x4;
myByte[1] = 0x5;

当我尝试按如下方式连接子字符串时,

myByte[0] = '0x' + '4'; // Show compile error. It doesn't work.

我不知道如何修复它。谢谢。 ETC。

Assume there is a string hexString = "0x12" or "0x45" etc. How can I convert the string to another byte[] as below. Thanks.

byte[] myByte = new byte[2];
myByte[0] = 0x1;
myByte[1] = 0x2;

or

myByte[0] = 0x4;
myByte[1] = 0x5;

When I try to concatenate the substring as below,

myByte[0] = '0x' + '4'; // Show compile error. It doesn't work.

I don't know how to fix it. thanks.
etc.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

栖迟 2024-11-17 07:06:14

正在寻找这样的东西吗?

string hex = "0123456789abcdef";

string input = "0x45";
Debug.Assert(Regex.Match(input, "^0x[0-9a-f]{2}$").Success);

byte[] result = new byte[2];
result[0] = (byte)hex.IndexOf(input[2]);
result[1] = (byte)hex.IndexOf(input[3]);

// result[0] == 0x04
// result[1] == 0x05

Are looking for something like this?

string hex = "0123456789abcdef";

string input = "0x45";
Debug.Assert(Regex.Match(input, "^0x[0-9a-f]{2}$").Success);

byte[] result = new byte[2];
result[0] = (byte)hex.IndexOf(input[2]);
result[1] = (byte)hex.IndexOf(input[3]);

// result[0] == 0x04
// result[1] == 0x05
囚你心 2024-11-17 07:06:14

您是否尝试过先搜索它?
试试这个:如何将十六进制转换为字节数组?

Have you tried searching for it first?
Try this: How to convert hex to a byte array?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文