VB.NET 中的十六进制到 8 位无符号数组

发布于 2024-08-03 10:41:17 字数 218 浏览 1 评论 0原文

我有一个十六进制值,

07A5953EE7592CE8871EE287F9C0A5FBC2BB43695589D95E76A4A9D37019C8

我想将其转换为字节数组。

.NET 3.5 中是否有一个内置函数可以完成这项工作,或者我是否需要编写一个函数来循环遍历字符串中的每一对并将其转换为等效的 8 位整数?

I have a hexadecimal value,

07A5953EE7592CE8871EE287F9C0A5FBC2BB43695589D95E76A4A9D37019C8

Which I want to convert to a byte array.

Is there a built-in function in .NET 3.5 that will get the job done or will I need to write a function to loop through each pair in the string and convert it to its 8-bit integer equivalent?

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

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

发布评论

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

评论(2

跨年 2024-08-10 10:41:17

没有内置函数可以执行此操作。不幸的是,您必须编写一个代码 :(

Public Function ToHexList(ByVal str As String) As List(Of Byte) 
  Dim list As New List(Of Byte)
  For i = 0 to str.Length-1 Step 2
    list.Add(Byte.Parse(str.SubString(i,2), Globalization.NumberStyles.HexNumber))
  Next
  Return list
End Function

编辑

使用 Globalization 命名空间限定符限定 NumberStyles 枚举。另一种选择是导入该命名空间并删除限定符。

There is no built-in function that will do this. You will unfortunately have to code one up :(

Public Function ToHexList(ByVal str As String) As List(Of Byte) 
  Dim list As New List(Of Byte)
  For i = 0 to str.Length-1 Step 2
    list.Add(Byte.Parse(str.SubString(i,2), Globalization.NumberStyles.HexNumber))
  Next
  Return list
End Function

EDIT

Qualified the NumberStyles enumeration with the Globalization namespace qualifier. Another option is to import that namespace and remove the qualifier.

归途 2024-08-10 10:41:17

我认为您会在此处找到您想要的内容 (codeproject. com)

I think that you'll find what you are looking for here (codeproject.com)

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