亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
精品嫩草影院久久| 1区2区3区国产精品| 亚洲欧美日韩综合aⅴ视频| 丁香激情综合五月| 国产精品嫩草99a| 99re成人精品视频| 亚洲成av人片一区二区梦乃| 欧美日韩视频一区二区| 日韩精品三区四区| 国产亲近乱来精品视频| 色综合天天天天做夜夜夜夜做| 一区二区三区久久久| 欧美一区二区三区视频在线 | 欧美日韩精品二区第二页| 激情五月婷婷综合| 国产精品久久午夜| 91精品久久久久久久99蜜桃| a亚洲天堂av| 精品中文字幕一区二区小辣椒| 中文字幕一区二区三区精华液| 狠狠狠色丁香婷婷综合久久五月| 日韩av午夜在线观看| 中文字幕不卡在线播放| 欧美一区二区三区四区在线观看 | 风流少妇一区二区| 三级欧美在线一区| 激情av综合网| 91麻豆精东视频| 国产精品一级在线| 蜜臀av在线播放一区二区三区| 国产精品不卡在线观看| 亚洲另类中文字| 中文字幕一区三区| 午夜国产不卡在线观看视频| 亚洲精品国产一区二区精华液 | 国产精品一级黄| 色狠狠综合天天综合综合| 国产馆精品极品| 国产另类ts人妖一区二区| 日本道免费精品一区二区三区| 欧美精品丝袜久久久中文字幕| 色综合中文字幕| av电影天堂一区二区在线| 9191久久久久久久久久久| 国产精品美女一区二区三区| 性欧美疯狂xxxxbbbb| 豆国产96在线|亚洲| 欧美午夜一区二区三区| 精品视频123区在线观看| 久久精品欧美一区二区三区麻豆| 欧美成人伊人久久综合网| 亚洲天堂中文字幕| 亚洲精品国产a| 国产精品一卡二卡在线观看| 91精品国产色综合久久不卡电影| 国产精品久久久久久久岛一牛影视 | 成人永久看片免费视频天堂| 欧美精品在欧美一区二区少妇| 亚洲欧美在线视频观看| 国产在线播放一区二区三区| 国产一区二区三区免费播放| 欧美日韩激情一区二区三区| 亚洲欧美色一区| 成人激情小说乱人伦| 色94色欧美sute亚洲线路一ni | 制服丝袜亚洲色图| 亚洲蜜臀av乱码久久精品蜜桃| 国产成人午夜视频| 久久麻豆一区二区| 中文av字幕一区| 国产精品一区二区果冻传媒| 精品久久免费看| 久久国产福利国产秒拍| 国产一区二区久久| 欧美第一区第二区| 日韩一区有码在线| 99久久国产综合色|国产精品| 久久久青草青青国产亚洲免观| 三级久久三级久久久| 欧美色图片你懂的| 亚洲一区二区偷拍精品| 美女看a上一区| 日韩一级大片在线观看| 久久午夜免费电影| 亚洲综合免费观看高清完整版在线| av在线播放成人| 樱花影视一区二区| 欧美色图激情小说| 麻豆91在线看| 久久―日本道色综合久久| 福利一区二区在线观看| 国产精品国产成人国产三级| 国产麻豆精品一区二区| 久久蜜桃香蕉精品一区二区三区| 国产99久久精品| 亚洲精品欧美综合四区| 欧美日韩mp4| 国内精品在线播放| 国产精品美女久久久久高潮| 色激情天天射综合网| 日韩成人午夜电影| 日本一区免费视频| 91国产丝袜在线播放| 日韩黄色在线观看| 欧美经典一区二区三区| 欧美亚洲国产怡红院影院| 秋霞午夜鲁丝一区二区老狼| 欧美影院一区二区| 精品中文字幕一区二区| 亚洲欧美另类小说| 精品少妇一区二区三区日产乱码 | 7777精品伊人久久久大香线蕉最新版 | 欧美一卡二卡三卡| 国产精一品亚洲二区在线视频| 亚洲欧洲在线观看av| 在线不卡一区二区| 成人动漫视频在线| 日本亚洲电影天堂| 亚洲欧美日韩在线| 久久女同性恋中文字幕| 欧美三级在线视频| av午夜精品一区二区三区| 同产精品九九九| 亚洲国产精品黑人久久久| 欧美人与禽zozo性伦| 成人毛片老司机大片| 久久国产精品99久久人人澡| 一区二区三区精品在线| 久久久久国产精品免费免费搜索| 欧美日韩在线三区| 91麻豆精东视频| 成人aaaa免费全部观看| 国产一区二区三区精品视频| 午夜视频在线观看一区| 国产精品国产三级国产aⅴ无密码| 日韩免费在线观看| 欧美精品日韩精品| 色94色欧美sute亚洲线路一久| 成人午夜视频福利| 国产一区二区三区久久久| 日韩中文字幕不卡| 午夜精品一区在线观看| 一区二区高清视频在线观看| 国产精品天干天干在线综合| 久久久久成人黄色影片| 精品成人一区二区| 国产成人午夜视频| 国产在线精品一区二区三区不卡| 日韩福利电影在线| 亚洲成av人片在www色猫咪| 亚洲精品ww久久久久久p站| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美国产精品中文字幕| 久久无码av三级| 精品99久久久久久| 久久综合久色欧美综合狠狠| 精品少妇一区二区| 国产亚洲综合在线| 国产精品免费视频网站| 国产精品美女一区二区在线观看| 亚洲国产高清不卡| 国产精品欧美久久久久无广告| 国产精品九色蝌蚪自拍| 国产精品初高中害羞小美女文| 亚洲女同一区二区| 视频一区在线视频| 久久疯狂做爰流白浆xx| 国产一区在线精品| jlzzjlzz亚洲女人18| 色呦呦国产精品| 欧美日韩一区二区三区四区五区| 欧美群妇大交群中文字幕| 欧美高清www午色夜在线视频| 91精品国产丝袜白色高跟鞋| 精品国产精品一区二区夜夜嗨| 久久一区二区视频| 中文字幕制服丝袜成人av| 亚洲黄色免费网站| 久热成人在线视频| 成人午夜在线免费| 色就色 综合激情| 欧美一级精品大片| 国产精品美女久久福利网站| 一区av在线播放| 国产在线精品免费av| 91丨九色丨黑人外教| 91精品中文字幕一区二区三区| 26uuu另类欧美| 亚洲精品国久久99热| 国内久久精品视频| 欧美综合亚洲图片综合区| 激情五月播播久久久精品| 成人午夜av影视| 91精品国产一区二区| 国产精品白丝在线| 久久99精品国产麻豆婷婷| 日本电影欧美片| 国产精品久久久久久妇女6080| 日日欢夜夜爽一区| 色88888久久久久久影院按摩|