将字符串转换为Hex / ByteArray VB

时间:2016-02-22 16:35:03

标签: vb.net string hex bytearray

我目前正在开展项目工作,我需要一个简单的字符串:

string ("Example") 

并转换为十六进制字节数组:

HexByteArray(45 ,78 ,61 ,6d ,70 ,6c ,65)

在VBA中我使用strconv实现了这个:

bytes = StrConv(id, vbFromUnicode)

努力在VB中找到相同的功能,到目前为止,我已设法使用Hex()函数创建一个等价的整数,但如上所述,我需要在字节数组中存储十六进制等效的每个字符。可能是一个简单的解决方案,所有人都很感激!

1 个答案:

答案 0 :(得分:0)

Sub GetHexString(Value As String)
    Dim Bytes() As Byte = Text.Encoding.ASCII.GetBytes(Value)

    ' StringBuilder Capacity for 2 characters plus space per byte
    With New StringBuilder(Bytes.Length * 3)
        For Each B As Byte In Bytes
            ' note the trailing space in the format
            .AppendFormat("{0:x2} ", B)
        Next

        Debug.Print(.ToString.Trim)

        ' If you want an array of strings, split on the spaces
        Dim HexString() As String = Split(.ToString.Trim, " ")
    End With
End Sub

GetHexString的输出(“示例”):

45 78 61 6d 70 6c 65