【问题标题】:Hexadecimal to 8-bit unsigned array in VB.NETVB.NET 中的十六进制到 8 位无符号数组
【发布时间】:2010-11-23 01:41:18
【问题描述】:

我有一个十六进制值,

07A5953EE7592CE8871EE287F9C0A5FBC2BB43695589D95E76A4A9D37019C8

我想转换为字节数组。

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

【问题讨论】:

    标签: vb.net bytearray hex


    【解决方案1】:

    没有内置函数可以做到这一点。不幸的是,您将不得不编写一个代码:(

    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
    

    编辑

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

    【讨论】:

    • 感谢您发布该代码。可能是一个菜鸟问题,但我得到 NumberStyles 没有声明?我知道它会是 Dim NumberStyles 吗?谢谢
    • @shaiss 尝试在该文件中导入 System.Globalization。
    • 现在我得到 'Hex' 不是 'System.Globalization.NumberStyles' 的成员
    • NumberStyles.HexNumber 似乎可以代替 NumberStyles.Hex
    • @shaiss,我的错,你是对的。 HexNumber 是我应该放在那里的值。
    【解决方案2】:

    我想你会找到你要找的东西here (codeproject.com)

    【讨论】:

    • 我也看过这个,我希望.net 内置一些东西
    猜你喜欢
    • 2014-10-19
    • 2014-02-20
    • 2021-08-13
    • 2014-05-05
    • 1970-01-01
    • 2011-04-14
    • 2011-08-24
    • 2018-05-17
    • 2015-12-14
    相关资源
    最近更新 更多