学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
小林发给小周一串密文“VghpcyBpcyBhbiBleGFtcGx1”,并告诉小周,这串密文由明文字符串(仅包含ASCII字符,且字节数为3的倍数)经以下规则加密而成:
(1)将明文ASCII码分成3个字节一组,顺次连接后得到24位二进制数;
(2)将得到的24位二进制数字按每6位一组分成4组,每组6个位;
(3)在(2)中得到的6个位前补上两个0,得到4个字节的二进制数;
(4)将(3)中得到的四个二进制数分别转换为十进制数;
(5)将每个十进制数转换为1个加密字符,对应的“密码表”按数值由0到63次为“ABCDEFGHIJKLM-NOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”,小周按照上述规则,设计了一个解密VB程序,功能如下:
单击“解密”按钮Command1,程序依次将文本框Text1中每4个密文字符按加密规则转换为3个明文字符,连接这些明文字符,最后在文本框Text2中输出结果。程序运行效果如下图所示。

实现解密功能的VB程序如下,请回答下列问题:
(1)若密文字符串的长度是120,则解密后明文字符串的长度是__________。
(2)请在划线处填入合适代码。
①处代码______________;②处代码______________;③处代码______________。
Function Char2Int(c As String)As Integer
If c>="A" And c<="Z" Then '字母"A"的ASCII码是65

Char2Int = Asc(c)-65

ElseIf c>="a" And c<="2" Then '字母"a"的ASCII码是97

Char2Int =Asc(c)-71

ElseIf c>="0" And c<="g" Then '数字"0"的ASCII码是48

    

ElseIf c="+"Then

Char2Int = 62

Else

Char2Int = 63

End If
End Function
Private Sub Command1_Click()'解密过程
Dim n As Integer, s As String, i As Integer, ss As String Dim a(0 To 3)As Integer '依次存储一组4个密文按密码表换算出的数值
Dim. b(0 To 2)As Integer '依次存储一组3个明文字符的ASCII值
s=Text1.Text
n = Len(s)
ss= "   "
For i = 1 To n Step 4

For j=i To i+ 3

a(    )=Char2Int(Mid(s, j, 1))

Next j

b(0)=a(0)*4+ a(1)\16

    

b(2)=(a(2)Mod 4)*64+a(3)

For j=0 To 2

ss =ss + Chr(b(j))

Next j

Next i
Text2.Text =ss
End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交