'
'本函数将文件分割成大小300Byte,并存放到数组arrFile中,lngReturFileNum为返回的分割的块数
Public Function SplitFile(ByVal strSplitFileName As String, ByVal lngSplit As Long, ByRef lngReturFileNum As Long) As Boolean
Dim SaveName As String
Dim fnum As Integer, fnum1 As Integer
SplitFile = True
' On Error GoTo error1
Dim byt1() As Byte
Dim LngNumFile As Long, LngLoop As Long, FilesLen As Long
fnum = FreeFile
Open strSplitFileName For Binary As fnum
'/*精确计算文件将被分割的个数*/
FilesLen = FileLen(strSplitFileName)
If CLng(FilesLen / lngSplit) >= (FilesLen / lngSplit) Or CLng(FilesLen / lngSplit) = (FilesLen / lngSplit) Then
LngNumFile = CLng(FilesLen / lngSplit)
Else
LngNumFile = CLng(FilesLen / lngSplit) + 1
End If
lngReturFileNum = LngNumFile
For LngLoop = 1 To LngNumFile
If LngLoop < LngNumFile Then
ReDim byt1(lngSplit - 1)
ReDim Preserve arrFile(LngLoop - 1)
ReDim Preserve arrFile(LngLoop - 1).byt(lngSplit - 1)
Get #fnum, , byt1
Else
ReDim byt1(FilesLen - ((LngNumFile - 1) * lngSplit) - 1)
ReDim Preserve arrFile(LngLoop - 1)
ReDim Preserve arrFile(LngLoop - 1).byt(FilesLen - ((LngNumFile - 1) * lngSplit) - 1)
Get #fnum, , byt1
Close #fnum
End If
再转换为2进制
Private Sub Command1_Click()
Dim a() As Byte
Open "D:ss.jpg" For Binary As #1
ReDim a(LOF(1) - 1) As Byte
Get #1, , a
Close #1
Debug.Print xx(a)
End Sub
Public Function xx(b() As Byte) As String
Dim i As Integer
For i = 0 To UBound(b)
xx = xx & huan2(CInt(b(i)))
End Function
Public Function huan2(ten As Integer) As String
Dim two As String
Dim n As Double
Do Until ten = 0
n = ten Mod 2
two = n & two
ten = ten \ 2
Loop
huan2 = two
End Function