我有一个来自 dll 的字符串。据说,字符串是从 dll 中的 Byte() 转换而来的。
下面是我如何从 dll 获得价值的片段:
'DLL declare : Public Function getData(boolData as Boolean, strData1 as String, strData2 as String) as Boolean
Call objValue.getValue(True, strValueA, strValueB)
strResultA = strValueA
我想将字符串转换为十六进制值。当我尝试在互联网上使用十六进制转换器确认十六进制结果是否正确时。十六进制值不一样。
我怀疑它在字符串中有一些空值,因为当我将字符串输出到文本框并转换它时,它会给出正确的十六进制值。例如:toHex(tbResultA.text),将给出正确的十六进制值。
如何从字符串中删除空字符?我尝试了多种方法来删除它,但它不起作用。这是我尝试过的片段:
1. strResultA = strValueA.Replace(vbNullChar, "")
2. strResultA = strValueA.Replace(Chr(0, "")
3. strResultA = strValueA.Replace(Convert.ToChar(0), "")
4. strResultA = strValueA.Replace(Convert.vbNullChar, "")
5. strResultA = Replace(strValueA, Chr(0), "")
这是我将字符串转换为十六进制的代码段:
Private Function toHex(ByVal strValue As String) As String
Dim byteArray() As Byte
Dim hex As System.Text.StringBuilder = New System.Text.StringBuilder
byteArray = System.Text.ASCIIEncoding.ASCII.GetBytes(strValue)
For i As Integer = 0 To byteArray.Length - 1
hex.Append(byteArray(i).ToString("x"))
Next
Return hex.ToString()
End Function
'My fuction calling, strHexA will be kept in a text file:
Dim strHexA as String = toHex(strResultA)
谢谢。