请VB高手帮忙 关于字符串赋值给byte数组

来源:百度知道 编辑:UC知道 时间:2024/05/24 15:30:59
把字符串赋值给byte数组
已知道:dim st as string
st="72EC087272EC"
dim b() as byte
目的。达到b(0)=72,b(1)=EC,b(2)=08,b(3)=72,b(4)=72,b(5)=EC
我的代码:b(0)=Mid(st,1,2)
b(1)=Mid(st,3,2)
b(2)=Mid(st,5,2)
b(3)=Mid(st,7,2)
b(4)=Mid(st,9,2)
问题:运行的时候当运行到b(1)的时候提示类型错误。请大侠帮忙。在线等
提示 实时错误13,类型不匹配。

如果st 变量的值 72 EC 08 等数值 代表十六进制 可以用:

b(1)=Val("&H"& Mid(st,3,2))

其他类似!

=================================
dim st as string
st="72EC087272EC"
dim b() as byte
b=st

这样就好了,使用的时候如下:
For i = 0 To UBound(b)
print chr(b(i))
next
===============================

st 是十六进制

Dim st As String
st = "72EC087272EC"
Dim l As Integer
l = Len(st) / 2
ReDim b(0 To l) As Byte
Dim i As Integer
For i = 1 To l
b(i) = CByte("&H" & Mid$(st, (i * 2) - 1, 2))
Next i

把错误提示拿出来看看。

b(0)=CByte("&H" & Mid(st, 1, 2))

其它的也照样子换一下就行了。字符传给BYTE型,要转换的。CBYTE就是转换函数。

是否需要把字符串转换为byte啊