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

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

?? comp_groupsmart.bas

?? 里面有二十一種加密的算法,很好用的哦,大家一定要多多下載啊
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
    BestCompression = 0
    If MaxGroup = 1 Then Exit Function          'better than the use of 1 bit ????
    Do While StartPos + NumInGroup <= RealBegin + Group(StartGroep).NumInGroup - 1
        CheckLen = RealBegin - StartPos + Group(StartGroep).NumInGroup - 1
'if ther are less then 3 bytes to check we exit
        If CheckLen < 3 Then Exit Function
        WheHaveCompression = False
        GroupSize = 1                   'Lets start with the minimal groupsize
        Group(GroupSize).LowValue = InArray(StartPos + NumInGroup)
        Group(GroupSize).HighValue = InArray(StartPos + NumInGroup)
'check if we don't check the group we started with
        Do While (GroupSize < StartGroep) And (NumInGroup < 65535)
            NumInGroup = NumInGroup + 1
            Group(GroupSize).NumInGroup = NumInGroup
'if we are at the end of the group we exit
            If StartPos + NumInGroup > RealBegin + Group(StartGroep).NumInGroup - 1 Then GoSub Calc_Compression: Exit Do
            Char = InArray(StartPos + NumInGroup)
            If Char < Group(GroupSize).LowValue Then
                If Group(GroupSize).HighValue - Char >= 2 ^ GroupSize Then
                    GoSub Calc_Compression              'we have have found the maximum numer in the group
                    If GroupSize < StartGroep - 1 Then
'why start over again for the next group
'if the number 15 will fit in 4 bits it shure will fit in 5
                        Group(GroupSize + 1).LowValue = Group(GroupSize).LowValue
                        Group(GroupSize + 1).HighValue = Group(GroupSize).HighValue
                    End If
                    GroupSize = GroupSize + 1
                Else
                    Group(GroupSize).LowValue = Char
                End If
            ElseIf Char > Group(GroupSize).HighValue Then
                If Char - Group(GroupSize).LowValue >= 2 ^ GroupSize Then
                    GoSub Calc_Compression
                    If GroupSize < StartGroep - 1 Then
                        Group(GroupSize + 1).LowValue = Group(GroupSize).LowValue
                        Group(GroupSize + 1).HighValue = Group(GroupSize).HighValue
                    End If
                    GroupSize = GroupSize + 1
                Else
                    Group(GroupSize).HighValue = Char
                End If
            End If
        Loop
        If WheHaveCompression = True Then
            If RealBegin = StartPos Then
'if the beginning of the group is the same we startted with we have found a best group and leave
                CheckForBetterWithin = BestGroep
                Exit Function
            Else
'if not, then we have to check if there is maybe a compression possible in the part between
'the start of the file and the start of the new found bestgroep (again we start with no compression)
                Group(8).NumInGroup = StartPos - RealBegin
                BestGroep = 8
                NewBestGroep = CheckForBetterWithin(InArray, Group, 8, RealBegin)
                Do While BestGroep <> NewBestGroep
                    BestGroep = NewBestGroep
                    NewBestGroep = CheckForBetterWithin(InArray, Group, BestGroep, RealBegin)
                Loop
                CheckForBetterWithin = BestGroep
                Exit Function
            End If
        Else
'if we didn't find compression then maybe there is a part further up in the file that achieves
'even better compression
            StartPos = StartPos + 1
            NumInGroup = 0
        End If
    Loop
    Exit Function
Calc_Compression:
'bits needed if we dont do compression or maybe did already
'3 for the compression method
'3 for the number with will tell the amount of next bits to read
'? numbers of bits needed to store the number of groupsize
'if whe already would do it with compression we need 8 bits for the lowvalue
'plus ofcourse the numbers of bits needed to store the group
    If CheckLen > 65535 Then CheckLen = 65535
    BitsNoComp = 3 + 3 + NumExtBits(GetExtraBitsNum(Group(GroupSize).NumInGroup)) + (8 * Abs(MaxGroup < 8)) + (Group(GroupSize).NumInGroup * 8) - (Group(GroupSize).NumInGroup * (8 - MaxGroup))
'bits needed to store compression
'3 for method,3 for bits needed,the groupsize,8 bits for lowest value and the group itself
    BitsComp = 3 + 3 + NumExtBits(GetExtraBitsNum(Group(GroupSize).NumInGroup)) + (8 * Abs(GroupSize < 8)) + (Group(GroupSize).NumInGroup * 8) - (Group(GroupSize).NumInGroup * (8 - GroupSize))
'if the new groep falls within the range of the old one whe also need to store the header the old group again
    If Group(GroupSize).NumInGroup <= Group(MaxGroup).NumInGroup Then BitsComp = BitsComp + 3 + 3 + NumExtBits(GetExtraBitsNum(CheckLen - StartPos - Group(GroupSize).NumInGroup)) + (8 * Abs(MaxGroup < 8))
'if the start position of the new group is different whe also need the store a new header for that group
    If StartPos <> RealBegin Then BitsComp = BitsComp + 3 + 3 + NumExtBits(GetExtraBitsNum(RealBegin - StartPos)) ' + (8 * Abs(MaxGroup < 8))
    NumInGroup = NumInGroup - 1
'if it is still better than the old method then whe have found a new group
    If BitsComp < BitsNoComp Then
        If BestCompression < BitsNoComp - BitsComp Then
            BestCompression = BitsNoComp - BitsComp
            WheHaveCompression = True
            BestGroep = GroupSize
        End If
    End If
    Return
End Function

'this peace of code is very strait forward
Public Sub DeCompress_SmartGrouping(ByteArray() As Byte)
    Dim AddFileLen As Long
    Dim OutStream() As Byte         'de output array
    Dim InpPos As Long
    Dim NewPos As Long
    Dim MaxPos As Long
    Dim PackedOrNot As Integer
    Dim NumBytes As Long
    Dim LowInGroup As Integer       'Laagste waarde in de groep
    Dim NumVal As Byte
    Dim X As Long
    AddFileLen = UBound(ByteArray) / 4
    ReDim OutStream(UBound(ByteArray) + AddFileLen)
    MaxPos = UBound(OutStream)
    InpPos = 0
    NewPos = 0
    Call Init_Grouping
    Do                                                              'loop until done
'read 3 bits to get grouping method (0 = not grouped)
        PackedOrNot = ReadBitsFromArray(ByteArray, InpPos, 3)
'read 3 bits to get the bits needed for the groupsize
        NumVal = ReadBitsFromArray(ByteArray, InpPos, 3)
'read the amount of data needed for the group
        NumBytes = ReadBitsFromArray(ByteArray, InpPos, CInt(NumExtBits(NumVal)))
'add an extra bit if needed (number 15 fits in 3 bits)
        If NumVal > 0 And NumVal < 7 Then
            NumBytes = NumBytes Or 2 ^ (NumVal + 2)
        End If
        If NumBytes = 0 Then Exit Do            'whe are done
        If PackedOrNot = 0 Then
'if not grouped, read the amount of nongrouped data (8 bits)
            For X = 1 To NumBytes       'de bytes zijn niet geGrouped
                If NewPos > MaxPos Then GoSub Increase_Outstream
                OutStream(NewPos) = ReadBitsFromArray(ByteArray, InpPos, 8)
                NewPos = NewPos + 1
            Next
        Else
'if grouped, read the lowest value in the group
            LowInGroup = ReadBitsFromArray(ByteArray, InpPos, 8)
'and get the amount of data for that group
            For X = 1 To NumBytes       'de bytes zijn  geGrouped
                If NewPos > MaxPos Then GoSub Increase_Outstream
                OutStream(NewPos) = ReadBitsFromArray(ByteArray, InpPos, PackedOrNot) + LowInGroup
                NewPos = NewPos + 1
            Next
        End If
    Loop
    NewPos = NewPos - 1
    ReDim ByteArray(NewPos)
'copy the temporary outputstream into the input stream to return it to the caller
    Call CopyMem(ByteArray(0), OutStream(0), NewPos + 1)
    Exit Sub
    
Increase_Outstream:
'this is used if the reserved amount of store space wasn't sufficient
    ReDim Preserve OutStream(NewPos + AddFileLen)
    MaxPos = UBound(OutStream)
    Return
End Sub

'this function will return a value out of the amaunt of bits you asked for
Private Function ReadBitsFromArray(FromArray() As Byte, FromPos As Long, Numbits As Integer) As Long
    Dim X As Integer
    Dim Temp As Long
    For X = 1 To Numbits
        Temp = Temp * 2 + (-1 * ((FromArray(FromPos) And 2 ^ (7 - ReadBitPos)) > 0))
        ReadBitPos = ReadBitPos + 1
        If ReadBitPos = 8 Then
            If FromPos + 1 > UBound(FromArray) Then
                Do While X < Numbits
                    Temp = Temp * 2
                    X = X + 1
                Loop
                FromPos = FromPos + 1
                Exit For
            End If
            FromPos = FromPos + 1
            ReadBitPos = 0
        End If
    Next
    ReadBitsFromArray = Temp
End Function


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费精品99久久国产综合精品| 亚洲精品在线电影| 精品一区二区三区香蕉蜜桃| 亚洲精品视频免费看| 中文字幕中文字幕在线一区| 亚洲黄色免费电影| 国产精品理伦片| 中文字幕免费在线观看视频一区| 欧美精品一区二区蜜臀亚洲| 精品国内二区三区| 精品sm捆绑视频| 久久日韩精品一区二区五区| 久久综合色播五月| 久久久精品日韩欧美| 久久―日本道色综合久久| 久久一日本道色综合| 久久九九99视频| 中文久久乱码一区二区| 中文字幕五月欧美| 亚洲一区二区精品久久av| 午夜精品免费在线观看| 老司机精品视频线观看86| 国产一区91精品张津瑜| 国v精品久久久网| 色婷婷av一区二区三区大白胸| 在线欧美日韩精品| 欧美成人三级电影在线| 中文字幕第一区二区| 一区二区三区四区亚洲| 久久精品国产精品青草| 福利一区在线观看| 欧美亚洲综合色| 精品国产乱码久久久久久蜜臀| 国产日韩欧美在线一区| 亚洲小少妇裸体bbw| 日韩专区欧美专区| 欧美日韩亚洲综合| 久久综合色之久久综合| 最新热久久免费视频| 日本美女一区二区| 91小宝寻花一区二区三区| 91精品在线麻豆| 国产精品灌醉下药二区| 日韩av一区二区在线影视| 丁香激情综合国产| 日韩欧美一级特黄在线播放| 亚洲视频在线一区二区| 久久99精品国产91久久来源| 在线亚洲精品福利网址导航| 国产欧美日韩在线| 日韩经典一区二区| 色婷婷激情综合| 久久久高清一区二区三区| 五月婷婷综合激情| 成人国产精品免费| 久久综合九色欧美综合狠狠 | 一区二区不卡在线播放| 国产一区二区三区视频在线播放| 欧美性高清videossexo| 国产精品素人一区二区| 极品少妇一区二区| 日韩精品一区二区三区中文精品| 亚洲精品国产a久久久久久| 懂色av一区二区三区免费看| 欧美一级日韩免费不卡| 亚洲一区二区四区蜜桃| 91视频精品在这里| 中文字幕制服丝袜一区二区三区| 国产在线视频不卡二| 欧美xxxxx裸体时装秀| 亚洲aⅴ怡春院| 欧洲国内综合视频| 亚洲成人在线观看视频| 色欧美88888久久久久久影院| 中文字幕免费观看一区| 国产丶欧美丶日本不卡视频| 久久精品人人做人人爽人人| 久久99久久99| 精品国产三级电影在线观看| 麻豆国产精品一区二区三区 | 欧美激情在线一区二区三区| 日韩中文欧美在线| 91麻豆精品国产综合久久久久久| 午夜久久久久久久久久一区二区| 在线观看视频91| 有坂深雪av一区二区精品| 色婷婷综合久色| 亚洲图片一区二区| 4438亚洲最大| 激情综合色综合久久| 国产日韩欧美不卡在线| 成人免费视频视频| 一区二区在线观看视频在线观看| 欧美亚洲国产一区在线观看网站 | 免费国产亚洲视频| 精品美女在线观看| 风流少妇一区二区| 亚洲精品国产视频| 欧美日韩1区2区| 久久99精品久久久| 国产精品高清亚洲| 欧美电影一区二区| 国产一区二区三区日韩| 亚洲日穴在线视频| 制服.丝袜.亚洲.中文.综合| 精品一区二区免费| 自拍偷拍亚洲激情| 欧美日韩成人综合| 国产在线麻豆精品观看| 成人欧美一区二区三区| 欧美在线观看视频一区二区三区| 奇米精品一区二区三区四区 | 91福利在线导航| 蜜臀精品一区二区三区在线观看 | 亚洲图片有声小说| 2017欧美狠狠色| 色8久久精品久久久久久蜜 | 国产欧美精品一区aⅴ影院| 91免费看`日韩一区二区| 午夜精品影院在线观看| 久久精品男人的天堂| 欧美久久久久中文字幕| 成人教育av在线| 蜜桃av一区二区| 一片黄亚洲嫩模| 久久久久久久电影| 欧美一级理论性理论a| 97国产精品videossex| 久久er精品视频| 亚洲成人综合网站| 国产精品伦理一区二区| 91精品国产综合久久香蕉的特点| 高清免费成人av| 老司机免费视频一区二区三区| 亚洲精品国产无套在线观| 国产欧美1区2区3区| 91精品国产aⅴ一区二区| 91视频www| 国产成人99久久亚洲综合精品| 免费在线观看一区| 亚洲午夜电影在线| 亚洲欧美一区二区三区国产精品| 亚洲欧美一区二区不卡| 精品999久久久| 欧美草草影院在线视频| 3d成人h动漫网站入口| 欧美三日本三级三级在线播放| 99这里只有精品| 成人高清视频在线| 成人av在线网站| 成人精品视频一区二区三区 | 色综合视频在线观看| 国产成人免费视频网站高清观看视频 | 91麻豆精品国产91久久久久久 | 国产无人区一区二区三区| 欧美丰满一区二区免费视频| 欧美亚洲综合色| 欧美高清一级片在线| 欧美日韩黄色影视| 欧美日韩精品一区二区| 91精品国产黑色紧身裤美女| 欧美高清www午色夜在线视频| 欧美精品久久久久久久久老牛影院| 欧亚洲嫩模精品一区三区| 欧美日韩国产小视频在线观看| 欧美亚洲动漫精品| 欧美日本一道本在线视频| 91麻豆精品国产自产在线观看一区 | 亚洲欧洲日韩综合一区二区| 国产精品国产三级国产普通话三级 | 日韩一区二区在线免费观看| 91.com在线观看| 精品国免费一区二区三区| 国产欧美日韩在线| 亚洲色图欧美激情| 亚洲香肠在线观看| 美女在线观看视频一区二区| 国产69精品久久99不卡| 91福利区一区二区三区| 91麻豆精品久久久久蜜臀| xnxx国产精品| 亚洲欧美在线aaa| 午夜成人免费视频| 国产精品影视天天线| av激情成人网| 在线播放91灌醉迷j高跟美女| 2019国产精品| 一区二区三区欧美久久| 卡一卡二国产精品| 懂色av噜噜一区二区三区av| 色先锋aa成人| 精品国产髙清在线看国产毛片| 国产精品久久久久久久久免费丝袜 | 亚洲天堂2016| 免费观看30秒视频久久| 成人免费视频国产在线观看| 欧美日韩aaaaaa| 亚洲人一二三区| 国产一区激情在线| 欧美久久久久久久久久|