我想在0-255的数值范围内,将类似"D" & Chr(7) & Chr(181) & Chr(240) & Chr(45)的字符串存入字节数组,使得数组内数据为a(0)=Asc("D"),a(1)=7,a(2)=181,a(3)=240,a(4)=45,该如何做?
我用了如下方法
Dim a() as byte
s="D" & Chr(7) & Chr(181) & Chr(240) & Chr(45)
a = StrConv(s, vbFromUnicode)
取到的a内数据为a(0)=Asc("D"),a(1)=7,a(2)=0,a(3)=0,a(4)=45
请高手赐教
我用了如下方法
Dim a() as byte
s="D" & Chr(7) & Chr(181) & Chr(240) & Chr(45)
a = StrConv(s, vbFromUnicode)
取到的a内数据为a(0)=Asc("D"),a(1)=7,a(2)=0,a(3)=0,a(4)=45
请高手赐教
Dim s As String
Dim i As Integer
s=Chr(i)
如何处理s,才能取出s对应的那个i的值(只处理s,不通过i,i>127,i<256),使取出的值为i的真实值而不是0或者其他
s = "D" & Chr(7) & Chr(181) & Chr(240) & Chr(45)
ReDim arrA(Len(s)) As Variant
For i = 0 To Len(s) - 1
arrA(i) = Mid(s, i + 1, 1)
Next
For j = LBound(arrA) To UBound(arrA)
Debug.Print arrA(j)
Next
Dim bDist() As Byte
bDist = s
For j = LBound(arrA) To UBound(arrA)
Debug.Print arrA(j)
Next改为
For j = LBound(arrA) To UBound(arrA) - 1
Debug.Print arrA(j)
Next
但如果你的模块中有"Option Base 1"则不用改.
Set clcWord = New Collection
clcWord.Add "D", "1"
clcWord.Add Chr(7), "2"
clcWord.Add Chr(181), "3"
clcWord.Add Chr(240), "4"
clcWord.Add Chr(45), "5"
MsgBox clcWord("5")
Set clcWord = Nothing这样就可以了。但是ASCII码不是都是可见的,chr(181) 就不可见,有问题你再问
Lib "kernel32" Alias "RtlMoveMemory" ( _
ByRef pDst As Any, _
ByRef pSrc As Any, _
ByVal ByteLen As Long)Dim a() As Integer
Dim s As Strings = "D" & ChrW(7) & ChrW(181) & ChrW(240) & ChrW(45)
ReDim a(Len(s))
CopyMemory a(0), ByVal StrPtr(s), Len(s) * 2