现在想实现这样一个功能,在TEXT1,text2中各输入一任意长度字符串(16进制双字节)
现在想求出2个字符串,每一位依次异或的结果,以一个双字节16进制数存在TEXT3中。
比如上图中要求出 82 Xor fb Xor 20 Xor 50 Xor 01 Xor 01 Xor 20 Xor dc Xor 4b
结果返回给TEXT3。
********************************************************************************
Private Sub Command1_Click()
Dim s1 As String
Dim s2 As String, i As Integer
Dim sok As String
Dim sa As String
Dim sb As String
Dim sc() As String
Dim sd As Byte
s1 = Text1.Text
'文本框1内容
s2 = Text2.Text '文本框2内容
sa = Trim(Trim(s1) + " " + Trim(s2)) '文本框1内容+文本框2内容(去头尾空格)(之间加空格--作数组分隔符)
'sb = Replace(sa, " ", "")
sc = Split(sa, " ") '将文本框1,2里的字符串拆成数组
For i = 0 To UBound(sc)
If Len(sc(i)) <> 2 Then MsgBox "输入的数据不对!超过2位": Exit Sub '判断拆出的数组值是否为2位(免溢出)
Next i
sd = Val("&h" & sc(0)) '参与异或的第一个值
For i = 1 To UBound(sc) '循环异或
sd = sd Xor Val("&h" & sc(i))
sok = Hex(sd)
If Len(sok) = 1 Then
sok = "0" + Hex(sd)
Else
sok = Hex(sd)
End If
Next i
'sok = Hex(sd)
Text3 = sok
End Sub
*******************************************************************************