曲哲同学设计了一个英文字符串的加密算法,其加密的方法如下:
1.从被加密字符串中获取单个字符,然后得到其ascii码的8位二进制编码。
2.将字符的二进制编码反向,得到其逆序二进制码。
3.将逆序二进制码的每4位转换为相应的十六进制编码,即得到单个字符加密后的字符串。
4.以此类推,直到所有字符加密完成,得到加密字符串。
具体程序界面如下图,在text1中输入字符串,点击“加密”按钮command1后,在text2中显示加密后的字符串。
(1)已知字符a的ascii码为97,则字符串idear加密后的字符串为____________________。
(2)阅读整段程序,程序中①画线处应填入
程序中②画线处应填入
。:学+科+网

Private Sub Command1_Click()
Dim s As String, ch As String
Dim result As String, chA As String, chB As String
Dim i As Integer, j As Integer
Dim n As Integer, m As Integer
s = Text1.Text
n = Len(s)
result = "": c = "0123456789ABCDEF"
For i =" 1" To n
ch =
①ch = niXu(ch)
m = 0
For j =" 1" To 4 ' 获取二进制码前4位的值
②Next
chA =" Mid(c," m + 1, 1)
m = 0
For j =" 5" To Len(ch)
m =" m" * 2 + Val(Mid(ch, j, 1))
Next
chB =" Mid(c," m + 1, 1)
result =" result" + chA + chB
Next
Text2.Text = result
End Sub
' 得到单个字符ch的8位二进制编码
Function D2B(ByVal ch As String) As String
Dim s As String
Dim data As Integer, i As Integer
data = Asc(ch):s = ""
Do While data > 0
s ="Str(data" Mod 2) + s
data =" data" \ 2
Loop
If Len(s) < 8 Then
For i =" 1" To 8 - Len(s)
s = "0" + s
Next
D2B = s
Else
D2B = s
End If
End Function
' 返回字符串s的逆序
Function niXu(ByVal s As String) As String
Dim i As Integer:Dim r As String
r = ""
For i =" Len(s)" To 1 Step -1
r =" r" + Mid(s, i, 1)
Next
niXu = r
End Function