byte动态数组是可以直接跟字符串变量进行=的,
这点大家都应该知道。我现在要问的是一个BYTE数组,
挨个将其值(0-255)拼成一个字符串,
有没有好的方法。现在是循环,一个个cstr加“,”拼接。for i=0 to ubound(b)
s=s & "," cstr(b(i))
next
s=mid(s,2)
这点大家都应该知道。我现在要问的是一个BYTE数组,
挨个将其值(0-255)拼成一个字符串,
有没有好的方法。现在是循环,一个个cstr加“,”拼接。for i=0 to ubound(b)
s=s & "," cstr(b(i))
next
s=mid(s,2)
楼主可以试一下。
dim a() as string
a=b
s=join(a,",")
s = join(sByte,",")
Dim byteP() As Byte
Private Sub Command1_Click()
byteP = StrConv(Text1.Text, vbUnicode)
End SubPrivate Sub Command2_Click()
Text2.Text = StrConv(byteP, vbFromUnicode)
End Sub
Private Sub Form_Load()
Dim sByte(254) As Byte, ss(254) As String
Dim i As Long, s As String
For i = 0 To 254
sByte(i) = i
Next
For i = 0 To 254
ss(i) = sByte(i)
Next
s = Join(ss, ",")
MsgBox s
End Sub
不过LZ这贴的分真是多
Dim strTmp As String
Dim bytBuffer() As Byte
Dim i As Long, j As Long
Dim pArrayAddress As Long
Dim pStringAddress As Long
Dim Length As Long
Dim pTmp As Long
bytBuffer = StrConv("Test", vbFromUnicode)
Length = (UBound(bytBuffer) + 1) * 2 strTmp = String((UBound(bytBuffer) + 1) * 2, 0)
pArrayAddress = VarPtr(bytBuffer(0))
pStringAddress = StrPtr(strTmp)
j = 0
pTmp = pStringAddress
For i = 1 To Length - 1 Step 2
CopyMemory ByVal pTmp, ByVal pArrayAddress + j, 1
pTmp = pTmp + 2
j = j + 1
Next
pTmp = 44
For i = 2 To Length Step 2
CopyMemory ByVal pStringAddress + (i - 1), pTmp, 1
Next
Private Sub Command1_Click()
Dim lpData(3) As Byte
Dim ss As String
lpData(0) = 97
lpData(1) = 98
lpData(2) = 99
lpData(3) = 100
ss = StrConv(lpData, vbUnicode)
MsgBox ss
End Sub结果 abcd
呵呵,挺怪
'' 代码
Dim b(0 to N) as Byte
'此处对 b(N) 赋值
Dim s as String
Dim N as Integer,i As IntegerN=UBound(b)
s=""
For i = 0 To N
s = s & chr(b(i))
next i
s = StrConv(s, vbUnicode)
msgbox s
''''' ========= End ===================