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

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

?? comp_groupsmart.bas

?? 里面有二十一種加密的算法,很好用的哦,大家一定要多多下載啊
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
Attribute VB_Name = "Comp_GroupSmart"


Option Explicit

'This is a 1 run method

'This method is the smartgrouping method
'it will search for follower bytes within a curtain range wich
'will fit into a curtain bitlenght
'It will search as long as needed to find the best compression
'if it finds followers of 12*0 and 4*1 = 16 bytes it will be compressed
'because 0 - 0 and 1 - 0 will both fit into 1 bit, it will fit
'in 16*1 bit wich will lead to to the following
'in 17 headerbits and 16 codebits = 33 bits = 4 bytes and 1 bit
'if it finds followers of 12*0 and 4*173 = 16 bytes it will be compressed
'because 0 - 0 will fit in 1 bit and 173 - 173 will fit into 1 bit it will fit
'in 12*1 bit and 4*1 bit wich will lead to to the following
'in 17 headerbits and 12 codebits = 29 bits = 3 bytes and 5 bits
'in 17 headerbits and 4 codebits = 21 bits = 2 bytes and 3 bits
'wich get a total of 6 bytes

Private OutPos As Long              'invoeg positie voor de output array
Private OutBitCount As Integer
Private OutByteBuf As Byte
Private ReadBitPos As Integer
Private NumExtBits(7) As Byte

Private Type Grouping
    LowValue As Long
    HighValue As Long
    NumInGroup As Long
End Type
   
Private Sub Init_Grouping()
    OutPos = 0              'Next position in the output stream
    OutBitCount = 0         'Number of bits stored in the output buffer
    OutByteBuf = 0          'byte wich will be stores in outputstream if it is filled with 8 bits
    ReadBitPos = 0          'next position wich will be read
'This array is used to determen the amount of bits used to store a number
    NumExtBits(0) = 3       '<8
    NumExtBits(1) = 3       '<16
    NumExtBits(2) = 4       '<32
    NumExtBits(3) = 5       '<64
    NumExtBits(4) = 6       '<128
    NumExtBits(5) = 7       '<256
    NumExtBits(6) = 8       '<512
    NumExtBits(7) = 16      'the rest
End Sub

Public Sub Compress_SmartGrouping(ByteArray() As Byte)
    Dim OutStream() As Byte         'The output array
    Dim BeginGroup As Long          'Start for the next bytes wich will be compressed
    Dim BestGroup As Integer        'Best grouping method to get the best result
    Dim NewBest As Integer          'used to check if there is maybe a better method
    Dim BitsDeep As Integer         'This is used as a dummy
    Dim X As Long
    Dim TotFileLen As Long          'total file len
    Dim Group(1 To 8) As Grouping
    TotFileLen = UBound(ByteArray)
    ReDim OutStream(TotFileLen + (TotFileLen / 7))  'Worst case scenario
    BeginGroup = 0
'whe start by setting the beginvalues
    Call Init_Grouping
'lets check if we have done the whole file
    Do While BeginGroup < TotFileLen
        Group(8).LowValue = 0
        Group(8).HighValue = 255
        Group(8).NumInGroup = TotFileLen - BeginGroup + 1
'If where not ready yet whe assume the best method of compression is no compression
'That is indeed the best method cause nocompression needs 9 additional bits and compression uses 17
        BestGroup = 8
'lets check if there is maybe a better way
        NewBest = CheckForBetterWithin(ByteArray, Group, BestGroup, BeginGroup)
        Do While BestGroup <> NewBest
'yes there is, lets check again to be shure
            BestGroup = NewBest
            NewBest = CheckForBetterWithin(ByteArray, Group, BestGroup, BeginGroup)
        Loop
'whe have found the best method
        If BestGroup = 8 Then
            BitsDeep = 0            'No compression
        Else
            BitsDeep = BestGroup
        End If
'here we will store the header in into the outputstream
        Call AddGroupCodeToStream(OutStream, Group(BestGroup).NumInGroup, BitsDeep)
'If we have found compression then we must store also the lowest value of the group
'opslaan minimum waarde van de groep
        If BestGroup <> 8 Then
            Call AddBitsToStream(OutStream, CLng(Group(BestGroup).LowValue), 8)
        End If
'here we will read the bytes from the inputstream, convert them, and store them
'into the output stream
        For X = BeginGroup To BeginGroup + Group(BestGroup).NumInGroup - 1
            Call AddBitsToStream(OutStream, CLng(ByteArray(X) - Group(BestGroup).LowValue), BestGroup)
        Next
        BeginGroup = BeginGroup + Group(BestGroup).NumInGroup
    Loop
'if the grouping part is complete we have to store the EOF-marker = 0
'0 = no compression ,marker for less than 8 bytes, and 0 bytes to store
    Call AddGroupCodeToStream(OutStream, 0, 0)
'maybe we have some bits leftover so lets store them
    If OutBitCount < 8 Then
        Do While OutBitCount < 8
            OutByteBuf = OutByteBuf * 2
            OutBitCount = OutBitCount + 1
        Loop
        OutStream(OutPos) = OutByteBuf: OutPos = OutPos + 1
    End If
    OutPos = OutPos - 1
    ReDim ByteArray(OutPos)
'lets copy the outputstream into the inputstream so that we can return the compressed file
'to the caller
    Call CopyMem(ByteArray(0), OutStream(0), OutPos + 1)
End Sub

'This part is used to select the extra bits used to store a value
Private Function GetExtraBitsNum(Number As Long)
    Select Case Number
    Case Is < 8
        GetExtraBitsNum = 0
    Case Is < 16
        GetExtraBitsNum = 1
    Case Is < 32
        GetExtraBitsNum = 2
    Case Is < 64
        GetExtraBitsNum = 3
    Case Is < 128
        GetExtraBitsNum = 4
    Case Is < 256
        GetExtraBitsNum = 5
    Case Is < 512
        GetExtraBitsNum = 6
    Case Else
        GetExtraBitsNum = 7
    End Select
End Function

Private Sub AddGroupCodeToStream(ToStream() As Byte, Number As Long, GroupNum As Integer)
    Dim NumVal As Byte
    Dim X As Long
'Store 3 bits to say what grouping method is used
    Call AddBitsToStream(ToStream, CLng(GroupNum), 3)
    NumVal = GetExtraBitsNum(Number)
'store 3 bits to with will tell the amount of bits to be read to get the groupsize
    Call AddBitsToStream(ToStream, CLng(NumVal), 3)
'store 3 to 16 bits to put in the groepsize
    Call AddBitsToStream(ToStream, Number, CInt(NumExtBits(NumVal)))
End Sub

'this sub will add an amount of bits into the outputstream
Private Sub AddBitsToStream(ToStream() As Byte, Number As Long, Numbits As Integer)
    Dim X As Long
    For X = Numbits - 1 To 0 Step -1
        OutByteBuf = OutByteBuf * 2 + (-1 * ((Number And 2 ^ X) > 0))
        OutBitCount = OutBitCount + 1
        If OutBitCount = 8 Then: ToStream(OutPos) = OutByteBuf: OutBitCount = 0: OutByteBuf = 0: OutPos = OutPos + 1
    Next
End Sub

'This is Smart part of the grouping method
'it will look for the way to get the best compression
Private Function CheckForBetterWithin(InArray() As Byte, Group() As Grouping, MaxGroup As Integer, StartPositie As Long)
    Dim LowInGroup As Integer               'lowest value found
    Dim HighInGroup As Integer              'highest value found
    Dim GroupSize As Integer                'size of the group 1-7
    Dim NumInGroup As Long                  'total numbers in group
    Dim RealBegin As Long
    Dim BestGroep As Integer                'the best group found
    Dim NewBestGroep As Integer             'check for bestgroup
    Dim StartGroep As Integer               'startgroup to hold the group wich will be checked for better comp.
    Dim BestCompression As Long             'maximum compression (for now)
    Dim WheHaveCompression As Boolean       'whe have found a better method
    Dim Char As Integer                     'character found in input stream
    Dim BitsNoComp As Long                  'bits used if no comp.
    Dim BitsComp As Long                    'bits used if comp.
    Dim CheckLen As Long                    'maximum bytes to check
    Dim StartPos As Long                    'startposition where the check will start
    StartPos = StartPositie
    RealBegin = StartPos
    StartGroep = MaxGroup
    CheckForBetterWithin = MaxGroup

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久婷婷国产综合国色天香| 2020国产精品自拍| 色婷婷av一区二区三区大白胸| 国产91在线看| 欧美日韩国产综合久久| 日韩欧美一二三| 欧美激情中文不卡| 国产精品青草久久| 亚洲一级在线观看| 精品一区二区三区免费| kk眼镜猥琐国模调教系列一区二区| 99国产一区二区三精品乱码| 91国偷自产一区二区三区成为亚洲经典 | ww久久中文字幕| 亚洲欧美另类小说| 久久99精品久久久| 欧美亚洲国产bt| 成人欧美一区二区三区黑人麻豆| 亚洲成人动漫在线观看| 成人av电影在线网| 欧美一级欧美一级在线播放| 国产精品嫩草影院av蜜臀| 亚洲18影院在线观看| 懂色av一区二区三区免费观看| 欧美色区777第一页| 国产精品剧情在线亚洲| 丰满少妇久久久久久久| 欧美日韩视频专区在线播放| 国产精品美女久久久久久| 久久99精品久久久| 欧美一级在线视频| 天天射综合影视| 欧美日韩成人一区二区| 亚洲免费在线视频一区 二区| 国产乱人伦偷精品视频免下载 | 国产精品成人免费精品自在线观看| 视频一区视频二区中文字幕| 欧美亚洲动漫精品| 一区二区三区四区在线| 91蜜桃婷婷狠狠久久综合9色| 国产午夜精品美女毛片视频| 成人深夜福利app| 亚洲视频精选在线| 欧美视频一二三区| 午夜精品久久久久久久久| 欧美日韩国产在线播放网站| 亚洲成av人片在线观看无码| 91麻豆精品国产综合久久久久久 | 51久久夜色精品国产麻豆| 亚洲国产一二三| 日韩欧美电影在线| 国产99久久久久| 亚洲国产精品自拍| 精品久久久久久无| 94-欧美-setu| 欧美年轻男男videosbes| 麻豆一区二区三| 中文字幕日韩av资源站| 日韩精品专区在线影院重磅| 成人网在线播放| 国产一区二区视频在线| 亚洲影院在线观看| 国产精品久久久久桃色tv| 欧美成人一区二区| 欧美日韩日本视频| 欧美在线看片a免费观看| 国产成人亚洲精品青草天美| 天天av天天翘天天综合网色鬼国产 | 欧美精品一区二区不卡| 欧美巨大另类极品videosbest| 丁香六月综合激情| 国产成人免费高清| 精品一区在线看| 青娱乐精品在线视频| 日韩电影免费在线看| 一区二区三区在线免费观看| 国产精品国产三级国产普通话99| 欧美大片在线观看一区二区| 欧美一区午夜视频在线观看 | 亚洲国产精品欧美一二99| 亚洲欧美日韩在线播放| 一区二区三区**美女毛片| 亚洲色图一区二区| 亚洲男同1069视频| 亚洲国产成人av好男人在线观看| 亚洲欧美日韩小说| 日本特黄久久久高潮| 久久精品国产77777蜜臀| 精品综合久久久久久8888| 久久超碰97中文字幕| 懂色av中文一区二区三区| 成人激情免费网站| 欧美日韩精品二区第二页| 亚洲精品在线一区二区| 国产精品―色哟哟| 香港成人在线视频| 国产传媒欧美日韩成人| 91老师片黄在线观看| 精品国内二区三区| 亚洲人精品一区| 另类成人小视频在线| 色综合久久精品| 久久久噜噜噜久久人人看| 亚洲综合小说图片| 国产精品资源网| 宅男在线国产精品| 日韩理论电影院| 韩国三级在线一区| av欧美精品.com| 国产亚洲欧洲997久久综合 | 91在线小视频| 国产欧美日本一区视频| 蜜桃免费网站一区二区三区 | 国产精品美女www爽爽爽| 美女国产一区二区三区| 成人黄色软件下载| 欧美日韩久久久一区| 欧美大白屁股肥臀xxxxxx| 亚洲欧美日本韩国| 91一区二区三区在线播放| 国产亚洲精品aa午夜观看| 日本不卡免费在线视频| 欧美狂野另类xxxxoooo| 亚洲国产精品久久人人爱| 91福利视频久久久久| 亚洲综合视频在线| 欧美日韩午夜精品| 蜜臀av性久久久久蜜臀aⅴ四虎 | 美女视频第一区二区三区免费观看网站| 在线区一区二视频| 天天做天天摸天天爽国产一区 | 成人国产免费视频| ...av二区三区久久精品| 91福利在线观看| 石原莉奈在线亚洲三区| 日韩精品在线看片z| 成人小视频免费观看| 亚洲精品视频在线观看免费 | 亚洲欧洲日韩一区二区三区| 91香蕉视频在线| 日韩精品欧美精品| 精品国产网站在线观看| 国产91富婆露脸刺激对白| 亚洲一区在线观看网站| 日韩美女在线视频| 日本国产一区二区| 国产一区二区在线电影| 夜夜揉揉日日人人青青一国产精品| 欧美三级蜜桃2在线观看| 精品一区二区三区欧美| 亚洲成年人网站在线观看| 久久久久97国产精华液好用吗| 91福利社在线观看| 国产高清一区日本| 久久99精品久久久久久动态图 | 在线播放中文一区| 成人福利电影精品一区二区在线观看| 一区二区三区欧美在线观看| 国产丝袜美腿一区二区三区| 91麻豆精品国产无毒不卡在线观看| 99re这里只有精品视频首页| 麻豆免费精品视频| 一区二区欧美在线观看| 国产精品欧美综合在线| 国产三级一区二区三区| 亚洲精品在线电影| 精品国产一区二区三区忘忧草| 欧美日韩在线亚洲一区蜜芽| 日本韩国欧美三级| 欧美日韩你懂的| 日韩欧美国产一区在线观看| 欧美日韩成人在线| 日韩视频在线你懂得| 日韩欧美精品三级| 日本一区二区三区四区| 国产婷婷一区二区| 综合精品久久久| 亚洲综合网站在线观看| 日韩精品亚洲一区二区三区免费| 性欧美疯狂xxxxbbbb| 青草av.久久免费一区| 国产一区二区三区黄视频| 国产盗摄视频一区二区三区| 99久久国产综合色|国产精品| 色噜噜狠狠成人中文综合| 欧美α欧美αv大片| 中文字幕欧美三区| 亚洲第一二三四区| 国产激情91久久精品导航 | 亚洲一区二区欧美激情| 日本在线播放一区二区三区| 国产九九视频一区二区三区| 成人一区二区三区视频| 在线免费一区三区| 精品国产区一区| 三级不卡在线观看| 不卡的看片网站| 精品国产一区a| 美腿丝袜一区二区三区| 在线精品视频一区二区三四|