vb怎么把一个文件在硬盘上的信息读取到记事本中(就是变成一堆零和一),之后再把这些零和一还原成文件
这个问题的关键是把文件变成零和一,而不是复制文件。请把代码发到我的邮箱2667230747@qq.com或者告诉我行得通的方法(麻烦详细点)。用手机不能追问真麻烦。事实上...
这个问题的关键是把文件变成零和一,而不是复制文件。请把代码发到我的邮箱2667230747@qq.com或者告诉我行得通的方法(麻烦详细点)。
用手机不能追问真麻烦。事实上我现在已经试出方法来了,其实不用转asc字符的,直接转为十六进制就行了,等一下再转回来。也就变大两倍而已,不过好慢啊!我现在复制一个1点多兆的都卡住了。money的代码可以,分给你了,不用等到明天了。还是加50分 展开
用手机不能追问真麻烦。事实上我现在已经试出方法来了,其实不用转asc字符的,直接转为十六进制就行了,等一下再转回来。也就变大两倍而已,不过好慢啊!我现在复制一个1点多兆的都卡住了。money的代码可以,分给你了,不用等到明天了。还是加50分 展开
3个回答
2013-02-04 · 知道合伙人互联网行家
关注
展开全部
用二进制读取文件,存到一个byte型的字节数组buf()中。
然后一个一个字节读取其ascii码,并将此数字转成十六进制。 hex( asc( buf(i) ) )
将所有字节对应的十六进制字母连成一个字符串 ,就像 AE9C7A5D54F6A……
要还原的时候,取2位符,转为10进制数字,再存回一个字节数组,全部转完后写入一个文件,就行了。
补充:可能是我说用chrb()误导了你,抱歉。直接存入byte型的数组就行了,不需要chrb转成字符串的。
然后一个一个字节读取其ascii码,并将此数字转成十六进制。 hex( asc( buf(i) ) )
将所有字节对应的十六进制字母连成一个字符串 ,就像 AE9C7A5D54F6A……
要还原的时候,取2位符,转为10进制数字,再存回一个字节数组,全部转完后写入一个文件,就行了。
补充:可能是我说用chrb()误导了你,抱歉。直接存入byte型的数组就行了,不需要chrb转成字符串的。
展开全部
想做到是没什么难度的,只是感觉毫无意义。
————————————————————
得~ 楼主执着成这样,给你一段代码:
Sub FileToChr01(SFile As String, TFile As String)
Dim B As Byte, S As String
Dim I As Integer
Open SFile For Binary Access Read As #1
Open TFile For Binary Access Write As #2
Do While Not EOF(1)
Get #1, , B
S = ""
For I = 7 To 0 Step -1
S = S & IIf((B And (2 ^ I)) > 0, "1", "0")
Next I
Put #2, , S
Loop
Close #2
Close #1
End Sub
Sub Chr01ToFile(SFile As String, TFile As String)
Dim B As Byte, N As Byte
Dim P As Integer
Open SFile For Binary Access Read As #1
Open TFile For Binary Access Write As #2
P = 0: N = 0
Do While Not EOF(1)
Get #1, , B
P = P + 1
N = N * 2 + IIf(B = Asc("1"), 1, 0)
If P = 8 Then
Put #2, , N
P = 0: N = 0
End If
Loop
Close #2
Close #1
End Sub
Private Sub Command1_Click()
FileToChr01 "C:\1.txt", "C:\2.txt"
Chr01ToFile "C:\2.txt", "C:\3.txt"
End Sub
————————————————————
得~ 楼主执着成这样,给你一段代码:
Sub FileToChr01(SFile As String, TFile As String)
Dim B As Byte, S As String
Dim I As Integer
Open SFile For Binary Access Read As #1
Open TFile For Binary Access Write As #2
Do While Not EOF(1)
Get #1, , B
S = ""
For I = 7 To 0 Step -1
S = S & IIf((B And (2 ^ I)) > 0, "1", "0")
Next I
Put #2, , S
Loop
Close #2
Close #1
End Sub
Sub Chr01ToFile(SFile As String, TFile As String)
Dim B As Byte, N As Byte
Dim P As Integer
Open SFile For Binary Access Read As #1
Open TFile For Binary Access Write As #2
P = 0: N = 0
Do While Not EOF(1)
Get #1, , B
P = P + 1
N = N * 2 + IIf(B = Asc("1"), 1, 0)
If P = 8 Then
Put #2, , N
P = 0: N = 0
End If
Loop
Close #2
Close #1
End Sub
Private Sub Command1_Click()
FileToChr01 "C:\1.txt", "C:\2.txt"
Chr01ToFile "C:\2.txt", "C:\3.txt"
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一、文件在硬盘信息太多,你需要什么信息?内容?存储信息?
二、“读取到记事本中(就是变成一堆零和一)”没有理解错的话,你要存储为二进制文件?
三、“之后再把这些零和一还原成文件”还原成什么文件?还原成十进制的记事本文件?
二、“读取到记事本中(就是变成一堆零和一)”没有理解错的话,你要存储为二进制文件?
三、“之后再把这些零和一还原成文件”还原成什么文件?还原成十进制的记事本文件?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询