一个字符串转换的问题,急!
我有一个字符串,是以字节形式存储的,如:s=”01 01 07 00 01 01 30 02 00 03 60 01 02 03 04 0B 0C“,现在的目的是将字符串以”十六进制显示“,使用Hex函数Hex$(s)报错:类型不匹配!试问我该怎么办?请各位指点一下,谢谢诶!
[解决办法]
首先Hex$肯定不是那样用的,它是用来把整型数据转换成16进制字符串显示的,如
?hex(64)
40
其次你说的也不清楚,你的s本身就就是个“十六进制显示”了吗?
另外相关的函数有两个,参数都可以是“十六进制格式”的字符串,只是返回类型不同:
?str("&H60")
96
?val("&H60")
96
[解决办法]
这不已经是16进制表示的字符串了?
[解决办法]
- VB code
Public Function StrToHex(ByVal S As String) As String On Error Resume Next Dim ByteArr() As Byte ByteArr = StrConv(S, vbFromUnicode) Dim Temps As String Dim Temp As Byte Dim i As Long Dim outs As String For i = 0 To UBound(ByteArr) Temp = ByteArr(i) Temps = Hex(Temp) Temps = Right( "00 " & Temps, 2) outs = outs & Temps Next StrToHex = outs End Function