我目前正在开展项目工作,我需要一个简单的字符串:
string ("Example")
并转换为十六进制字节数组:
HexByteArray(45 ,78 ,61 ,6d ,70 ,6c ,65)
在VBA中我使用strconv实现了这个:
bytes = StrConv(id, vbFromUnicode)
努力在VB中找到相同的功能,到目前为止,我已设法使用Hex()函数创建一个等价的整数,但如上所述,我需要在字节数组中存储十六进制等效的每个字符。可能是一个简单的解决方案,所有人都很感激!
答案 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