亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? comp_combiner.bas

?? 常用加密算法用VB來實現
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
Attribute VB_Name = "Comp_Combiner"


Option Explicit

'This is a 1 run method but we have to keep the whole contents
'in memory until some variables are saved wich are needed bij the decompressor


'This compressor try to combine smaller values into the least posible space
'There are 3 types of combiners in this module

'The first on combines 2 bytes into 1 byte
'to do this it has to find two following bytes wich are <16 = 4 bits
'if this is the case than it combines 2 * 4 bits into 8 bits=1 byte
'it also has to store some controlerbit wich says if it has combined or not

'The second one combines into 3 bytes
'it can do this in 4 ways
'1: find 12 bytes < 4
'2: find 8 bytes < 8
'3: find 6 bytes < 16
'4: find 4 bytes < 64
'it also has to store some controlerbit wich says if wich combine it has applied

'The third can combine in 16 different ways
'1: combine 16 bytes into 6 bytes if value <8
'2: combine 12 bytes into 3 bytes if value <4
'3: combine 8 bytes into 1 bytes if value <2
'4: combine 14 bytes into 7 bytes if value <16
'5: combine 8 bytes into 2 bytes if value <4
'6: combine 12 bytes into 6 bytes if value <16
'7: combine 8 bytes into 3 bytes if value <8
'8: combine 10 bytes into 5 bytes if value <16
'9: combine 8 bytes into 4 bytes if value <16
'10: combine 4 bytes into 1 bytes if value <4
'11: combine 6 bytes into 3 bytes if value <16
'12: combine 12 bytes into 9 bytes if value <64
'13: combine 4 bytes into 2 bytes if value <16
'14: combine 8 bytes into 6 bytes if value <64
'15: combine 2 bytes into 1 bytes if value <16
'16: combine 4 bytes into 3 bytes if value <64
'it also has to store some controlerbit wich says if wich combine it has applied

Public Sub Compress_Combiner(ByteArray() As Byte)
    Dim ContStream() As Byte
    Dim OutStream() As Byte
    Dim ContByte As Byte
    Dim ContPos As Long
    Dim ContCount As Long
    Dim ContBitCount As Integer
    Dim OutPos As Long
    Dim InpPos As Long
    Dim FileLength As Long
    Dim Byte1 As Byte
    Dim Byte2 As Byte
    Dim NewByte As Byte
    Dim NewLen As Long
    Dim X As Long
    FileLength = UBound(ByteArray)
    ReDim ContStream((FileLength / 8) + 1)
    ReDim OutStream(FileLength)
    InpPos = 0
    OutPos = 0
    ContPos = 0
    ContByte = 0
    ContBitCount = 0
    ContCount = 0
    Do While InpPos <= FileLength
        Byte1 = ByteArray(InpPos)
        If InpPos < FileLength Then
            Byte2 = ByteArray(InpPos + 1)
        Else
            Byte2 = 16
        End If
        ContByte = ContByte * 2
        ContBitCount = ContBitCount + 1
        ContCount = ContCount + 1
        If Byte1 < 16 And Byte2 < 16 Then
            ContByte = ContByte + 1
            NewByte = Byte1 * 16 + Byte2
            InpPos = InpPos + 1
        Else
            NewByte = Byte1
        End If
        InpPos = InpPos + 1
        OutStream(OutPos) = NewByte
        OutPos = OutPos + 1
        If ContBitCount = 8 Then
            ContStream(ContPos) = ContByte
            ContByte = 0
            ContPos = ContPos + 1
            ContBitCount = 0
        End If
    Loop
    If ContBitCount > 0 Then
        Do While ContBitCount < 8
            ContByte = ContByte * 2
            ContBitCount = ContBitCount + 1
        Loop
        ContStream(ContPos) = ContByte
        ContPos = ContPos + 1
    End If
    ContPos = ContPos - 1
    OutPos = OutPos - 1
    If UBound(ByteArray) < 3 Then
        ReDim Preserve ByteArray(3)
    End If
    ByteArray(0) = Int(ContCount / &H1000000) And &HFF
    ByteArray(1) = Int(ContCount / &H10000) And &HFF
    ByteArray(2) = Int(ContCount / &H100) And &HFF
    ByteArray(3) = ContCount And &HFF
    InpPos = 4
    For X = 0 To ContPos
        If InpPos > UBound(ByteArray) Then
            ReDim Preserve ByteArray(InpPos + 100)
        End If
        ByteArray(InpPos) = ContStream(X)
        InpPos = InpPos + 1
    Next
    For X = 0 To OutPos
        If InpPos > UBound(ByteArray) Then
            ReDim Preserve ByteArray(InpPos + 100)
        End If
        ByteArray(InpPos) = OutStream(X)
        InpPos = InpPos + 1
    Next
    ReDim Preserve ByteArray(InpPos - 1)
End Sub

Public Sub DeCompress_Combiner(ByteArray() As Byte)
    Dim OutStream() As Byte
    Dim InCont As Long
    Dim InData As Long
    Dim ContData As Integer
    Dim ContCount As Long
    Dim ContBitCount As Long
    Dim ContHad As Long
    Dim FileLength As Long
    Dim NewByte As Byte
    Dim OutPos As Long
    Dim X As Long
    FileLength = UBound(ByteArray)
    ReDim OutStream(FileLength)
    ContHad = 0
    InCont = 4
    ContCount = ByteArray(0)
    ContCount = ContCount * 256 + ByteArray(1)
    ContCount = ContCount * 256 + ByteArray(2)
    ContCount = ContCount * 256 + ByteArray(3)
    InData = Int(ContCount / 8) + InCont
    If ContCount / 8 <> Int(ContCount / 8) Then
        InData = InData + 1
    End If
    ContBitCount = -1
    OutPos = 0
    Do While ContHad < ContCount
        If ContBitCount = -1 Then
            ContData = ByteArray(InCont)
            InCont = InCont + 1
            ContBitCount = 7
        End If
        NewByte = ByteArray(InData)
        InData = InData + 1
        If (ContData And 2 ^ ContBitCount) > 0 Then
            If OutPos > UBound(OutStream) Then
                ReDim Preserve OutStream(OutPos + 100)
            End If
            OutStream(OutPos) = (NewByte And &HF0) / 16
            OutPos = OutPos + 1
            NewByte = NewByte And &HF
        End If
        If OutPos > UBound(OutStream) Then
            ReDim Preserve OutStream(OutPos + 100)
        End If
        OutStream(OutPos) = NewByte
        OutPos = OutPos + 1
        ContHad = ContHad + 1
        ContBitCount = ContBitCount - 1
    Loop
    OutPos = OutPos - 1
    ReDim ByteArray(OutPos)
    For X = 0 To OutPos
        ByteArray(X) = OutStream(X)
    Next
End Sub

Public Sub Compress_Combiner3Bytes(ByteArray() As Byte)
    Dim ContStream() As Byte
    Dim OutStream() As Byte
    Dim ContByte As Byte
    Dim ContPos As Long
    Dim ContCount As Long
    Dim ContBitCount As Integer
    Dim OutPos As Long
    Dim InpPos As Long
    Dim FileLength As Long
    Dim Byte1 As Byte
    Dim Byte2 As Byte
    Dim NewByte As Byte
    Dim NewLen As Long
    Dim X As Long
    Dim Y As Integer
    Dim Combine As Boolean
    Dim CombSize As Integer
    Dim CombVal(6) As Integer
    Dim bitcount As Integer
    FileLength = UBound(ByteArray)
    ReDim ContStream((FileLength / 8) + 1)
    ReDim OutStream(FileLength)
    CombVal(2) = 0
    CombVal(3) = 1
    CombVal(4) = 2
    CombVal(6) = 3
    
    InpPos = 0
    OutPos = 0
    ContPos = 0
    ContByte = 0
    ContBitCount = 0
    ContCount = 0
    bitcount = 0
    Do While InpPos <= FileLength
        Combine = False
        If Combine = False And InpPos < FileLength - 12 Then
            CombSize = 2
            GoSub Check_If_Possible
        End If
        If Combine = False And InpPos < FileLength - 8 Then
            CombSize = 3
            GoSub Check_If_Possible
        End If
        If Combine = False And InpPos < FileLength - 6 Then
            CombSize = 4
            GoSub Check_If_Possible
        End If
        If Combine = False And InpPos < FileLength - 4 Then
            CombSize = 6
            GoSub Check_If_Possible
        End If
        If Combine = False Then
            ContByte = ContByte * 2
            ContBitCount = ContBitCount + 1
            ContCount = ContCount + 1
            GoSub Store_ContByte
            OutStream(OutPos) = ByteArray(InpPos)
            OutPos = OutPos + 1
            InpPos = InpPos + 1
        Else
            'opslaan controle byte
            ContByte = ContByte * 2 + 1
            ContBitCount = ContBitCount + 1
            ContCount = ContCount + 1
            GoSub Store_ContByte
            For X = 1 To 0 Step -1
                ContByte = ContByte * 2
                If (CombVal(CombSize) And 2 ^ X) > 0 Then ContByte = ContByte + 1
                ContBitCount = ContBitCount + 1
                ContCount = ContCount + 1
                GoSub Store_ContByte
            Next
            'opslaan databytes
            NewByte = 0
            bitcount = 0
            For X = 1 To 24 / CombSize
                For Y = CombSize - 1 To 0 Step -1
                    NewByte = NewByte * 2
                    bitcount = bitcount + 1
                    If (ByteArray(InpPos) And 2 ^ Y) > 0 Then NewByte = NewByte + 1
                    If bitcount = 8 Then
                        OutStream(OutPos) = NewByte
                        OutPos = OutPos + 1
                        bitcount = 0
                        NewByte = 0
                    End If
                Next
                InpPos = InpPos + 1
            Next
        End If
    Loop
    If ContBitCount > 0 Then
        Do While ContBitCount < 8
            ContByte = ContByte * 2
            ContBitCount = ContBitCount + 1
        Loop
        ContStream(ContPos) = ContByte
        ContPos = ContPos + 1
    End If
    ContPos = ContPos - 1
    OutPos = OutPos - 1
    If UBound(ByteArray) < 3 Then
        ReDim Preserve ByteArray(3)
    End If
    ByteArray(0) = Int(ContCount / &H1000000) And &HFF
    ByteArray(1) = Int(ContCount / &H10000) And &HFF
    ByteArray(2) = Int(ContCount / &H100) And &HFF
    ByteArray(3) = ContCount And &HFF
    InpPos = 4
    For X = 0 To ContPos
        If InpPos > UBound(ByteArray) Then
            ReDim Preserve ByteArray(InpPos + 100)
        End If
        ByteArray(InpPos) = ContStream(X)
        InpPos = InpPos + 1
    Next
    For X = 0 To OutPos
        If InpPos > UBound(ByteArray) Then
            ReDim Preserve ByteArray(InpPos + 100)
        End If
        ByteArray(InpPos) = OutStream(X)
        InpPos = InpPos + 1
    Next
    ReDim Preserve ByteArray(InpPos - 1)
    Exit Sub
    
Check_If_Possible:
    Combine = True
    For X = 1 To 24 / CombSize
        If ByteArray(InpPos + X - 1) >= 2 ^ CombSize Then
            Combine = False
            Exit For
        End If
    Next
    Return

Store_ContByte:
    If ContBitCount = 8 Then
        ContStream(ContPos) = ContByte
        ContByte = 0
        ContPos = ContPos + 1
        ContBitCount = 0
    End If
    Return

End Sub

Public Sub DeCompress_Combiner3Bytes(ByteArray() As Byte)
    Dim OutStream() As Byte
    Dim InCont As Long
    Dim InData As Long
    Dim ContData As Integer
    Dim ContCount As Long
    Dim ContBitCount As Long
    Dim ContHad As Long
    Dim FileLength As Long
    Dim NewByte As Byte
    Dim OutPos As Long
    Dim X As Long
    Dim Y As Integer
    Dim CombVal(3) As Integer
    Dim CombSize As Integer
    Dim bitcount As Integer
    CombVal(0) = 2
    CombVal(1) = 3
    CombVal(2) = 4
    CombVal(3) = 6
    FileLength = UBound(ByteArray)
    ReDim OutStream(FileLength)
    ContHad = 0
    InCont = 4
    ContCount = ByteArray(0)
    ContCount = ContCount * 256 + ByteArray(1)
    ContCount = ContCount * 256 + ByteArray(2)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美va亚洲va香蕉在线| a4yy欧美一区二区三区| 3751色影院一区二区三区| 婷婷综合五月天| 日韩欧美激情四射| 国产美女精品人人做人人爽 | 亚瑟在线精品视频| 日韩亚洲欧美在线| 国产一区二区不卡老阿姨| 国产精品乱码一区二区三区软件 | 亚洲男人的天堂一区二区| 欧洲国产伦久久久久久久| 偷偷要91色婷婷| 精品国产一区二区三区久久影院| 国产精品中文字幕欧美| 亚洲少妇30p| 欧美日本在线观看| 国产精品一区一区三区| 亚洲日本免费电影| 91精品国产福利在线观看| 国产伦精品一区二区三区在线观看| 国产日韩av一区二区| 91久久精品国产91性色tv| 免费国产亚洲视频| 亚洲婷婷国产精品电影人久久| 欧美日韩五月天| 国产综合久久久久久鬼色| 自拍偷拍国产精品| 欧美tickling网站挠脚心| 国产成人免费网站| 亚洲观看高清完整版在线观看| 久久亚洲综合av| 91成人在线精品| 国产一区二区成人久久免费影院| 一区二区三区在线观看动漫| 欧美mv和日韩mv的网站| 91亚洲精品久久久蜜桃| 狠狠网亚洲精品| 亚洲午夜电影在线| 国产精品天天看| 日韩视频一区二区在线观看| 91麻豆.com| 国产精品88av| 麻豆专区一区二区三区四区五区| 亚洲人成精品久久久久| 精品久久久久一区二区国产| 欧美亚洲国产一区在线观看网站 | 国产亚洲午夜高清国产拍精品| 欧美自拍偷拍午夜视频| 成人国产精品免费观看动漫| 强制捆绑调教一区二区| 亚洲精品高清在线| 国产精品免费观看视频| 久久这里只有精品6| 欧美一区二区网站| 欧美亚洲高清一区| 91麻豆文化传媒在线观看| 国产成人免费xxxxxxxx| 黄一区二区三区| 久久成人免费电影| 日韩国产欧美三级| 国产成人综合在线播放| 午夜精品一区在线观看| 亚洲图片有声小说| 亚洲精品美国一| 亚洲日本在线a| 亚洲人成网站精品片在线观看| 亚洲国产精品t66y| 久久免费电影网| 2022国产精品视频| 精品国产髙清在线看国产毛片| 欧美一级片在线| 91精品国产色综合久久| 制服.丝袜.亚洲.中文.综合| 欧美日韩dvd在线观看| 欧美日韩在线播| 欧美丝袜第三区| 欧美美女一区二区三区| 欧美日韩久久久| 91麻豆精品国产91久久久久 | 久久综合成人精品亚洲另类欧美 | 亚洲高清免费一级二级三级| 一区二区三区在线观看欧美| 一个色在线综合| 亚洲国产日日夜夜| 日本成人超碰在线观看| 麻豆国产欧美一区二区三区| 精品亚洲免费视频| 国产精品主播直播| 成人短视频下载| 在线免费av一区| 欧美区在线观看| 日韩欧美在线一区二区三区| 欧美精品一区二区在线观看| 国产欧美日韩麻豆91| 中文字幕永久在线不卡| 亚洲精品一卡二卡| 日韩国产高清在线| 国内不卡的二区三区中文字幕| 国产成人一级电影| 色综合久久综合网| 8x8x8国产精品| 国产校园另类小说区| 亚洲色图欧洲色图婷婷| 五月天视频一区| 狠狠色丁香婷婷综合| 丁香婷婷综合色啪| 欧美日韩一二三区| 久久这里只有精品6| 亚洲丝袜精品丝袜在线| 日韩激情中文字幕| 国产高清成人在线| 欧美午夜片在线看| 久久久久久久久99精品| 亚洲一区二区三区四区五区黄| 蜜桃一区二区三区在线观看| 成人教育av在线| 欧美二区乱c少妇| 国产精品灌醉下药二区| 日韩电影一区二区三区四区| 国产91精品免费| 91精品婷婷国产综合久久竹菊| 中文字幕av一区 二区| 日本亚洲三级在线| av电影天堂一区二区在线观看| 91 com成人网| 亚洲日本丝袜连裤袜办公室| 激情综合五月婷婷| 欧美日韩一区小说| 国产精品另类一区| 久久不见久久见中文字幕免费| 色婷婷综合视频在线观看| 久久男人中文字幕资源站| 亚洲18色成人| 色悠久久久久综合欧美99| 久久久久久一二三区| 日本成人在线一区| 91黄色小视频| 亚洲欧美影音先锋| 国产精品88av| 精品剧情v国产在线观看在线| 亚洲国产成人av| 91一区二区三区在线观看| 久久久九九九九| 久久疯狂做爰流白浆xx| 在线不卡a资源高清| 洋洋av久久久久久久一区| 成人午夜在线免费| 久久免费看少妇高潮| 麻豆freexxxx性91精品| 欧美人xxxx| 性做久久久久久免费观看欧美| 99久久综合99久久综合网站| 久久香蕉国产线看观看99| 蜜桃精品视频在线观看| 欧美日韩大陆一区二区| 亚洲午夜国产一区99re久久| 91国在线观看| 亚洲靠逼com| 色噜噜夜夜夜综合网| 日韩理论片一区二区| 99久久er热在这里只有精品15| 久久色成人在线| 国产福利91精品一区二区三区| 日韩欧美视频一区| 激情图区综合网| 久久久久久9999| 国产99精品国产| 国产欧美日韩亚州综合 | 精品一区二区在线观看| 日韩网站在线看片你懂的| 美女免费视频一区| 精品久久久久久亚洲综合网| 激情深爱一区二区| 欧美激情资源网| 99久久99久久免费精品蜜臀| 一区二区三区四区蜜桃| 欧美在线观看一区| 日韩成人dvd| 久久男人中文字幕资源站| 成人午夜碰碰视频| 亚洲美女精品一区| 欧美日韩国产综合一区二区| 日韩国产在线观看一区| 日韩美一区二区三区| 国产一区二区h| ...中文天堂在线一区| 一本到一区二区三区| 午夜精品视频在线观看| 欧美mv日韩mv国产网站app| 国产精品99久久久久久有的能看| 国产精品国模大尺度视频| 欧美在线影院一区二区| 日韩高清不卡一区二区三区| 久久综合丝袜日本网| 99在线精品观看| 日韩精品一卡二卡三卡四卡无卡| 久久综合99re88久久爱| 91黄色在线观看| 国产在线一区观看|