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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? comp_reducerdyngol.bas

?? 網(wǎng)上收集的多種加密解密以及壓縮算法vb源碼。
?? BAS
字號(hào):
Attribute VB_Name = "Comp_ReducerDynGol"


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

Private Type BytePos
    Data() As Byte
    Position As Long
    Buffer As Integer
    BitPos As Integer
End Type
Private Stream(1) As BytePos    '0=control 1=BitStreams

Private CharCount(256) As Long

Private Dictionary As String
Private BitsForHeader As Integer   '1=max 6 chars  2=max 30 chars  3=more then 30 chars
Private Golomb(8) As Integer
Private RetGolomb(15) As Integer
Private BitsToFollow(8) As Integer

Public Sub Compress_ReducerDynamicGol(ByteArray() As Byte)
    Dim X As Long
    Dim Y As Long
    Dim NoMore As Boolean
    Dim Most As Long
    Dim NewFileLen As Long
    Dim Nuchar As Byte
    Dim CharCount(255) As Long
    Call Init_ReducerDynamicGol
'whe only read the stream and convert them to bitstreams
    For X = 0 To UBound(ByteArray)
        Call AddValueToStream(CInt(ByteArray(X)))
    Next
'send the EOF-marker
    Call AddValueToStream(256)
'lets fill the leftovers
    For X = 0 To 1
        Do While Stream(X).BitPos > 0
            Call AddBitsToStream(Stream(X), 0, 1)
        Loop
    Next
'Lets restore the bounderies
    For X = 0 To 1
        ReDim Preserve Stream(X).Data(Stream(X).Position - 1)
    Next
'whe calculate the new length of the new data
    NewFileLen = 0
    For X = 0 To 1
        NewFileLen = NewFileLen + UBound(Stream(X).Data) + 1
    Next
    ReDim ByteArray(NewFileLen + 3)
'here we store the compressed data
    NewFileLen = 0
    For X = 0 To 0
        ByteArray(NewFileLen) = Int(UBound(Stream(X).Data) / &H10000) And &HFF
        NewFileLen = NewFileLen + 1
        ByteArray(NewFileLen) = Int(UBound(Stream(X).Data) / &H100) And &HFF
        NewFileLen = NewFileLen + 1
        ByteArray(NewFileLen) = UBound(Stream(X).Data) And &HFF
        NewFileLen = NewFileLen + 1
    Next
    For X = 0 To 1
        For Y = 0 To UBound(Stream(X).Data)
            ByteArray(NewFileLen) = Stream(X).Data(Y)
            NewFileLen = NewFileLen + 1
        Next
    Next
End Sub

Public Sub DeCompress_ReducerDynamicGol(ByteArray() As Byte)
    Dim OutStream() As Byte
    Dim OutPos As Long
    Dim InposCont As Long
    Dim InContBit As Integer
    Dim InposData As Long
    Dim InDataBit As Integer
    Dim Char As Integer
    Dim Numbits As Integer
    Dim X As Long
    Dim Temp As Byte
    ReDim OutStream(500)
    Call Init_ReducerDynamicGol
    InposCont = 0
    InposData = 0
    For X = 0 To 2
        InposData = CLng(InposData) * 256 + ByteArray(InposCont)
        InposCont = InposCont + 1
    Next
    InposData = InposData + InposCont + 1
    InContBit = 0
    InDataBit = 0
    OutPos = 0
    Do
        Numbits = 0
        Temp = 0
        Temp = Temp * 2 + ReadBitsFromArray(ByteArray, InposCont, InContBit, 2)
        Do While RetGolomb(Temp) = 0
            Temp = Temp * 2 + ReadBitsFromArray(ByteArray, InposCont, InContBit, 1)
        Loop
        Numbits = RetGolomb(Temp)
        Char = ReadBitsFromArray(ByteArray, InposData, InDataBit, Numbits)
        Char = ExpanderBits(Numbits, Char)
        If Char = 256 Then Exit Do
        Call AddCharToArray(OutStream, OutPos, CByte(Char))
    Loop
    ReDim ByteArray(OutPos - 1)
    For X = 0 To OutPos - 1
        ByteArray(X) = OutStream(X)
    Next
End Sub

Private Sub Init_ReducerDynamicGol()
    Dim X As Integer
    Dictionary = ""
    For X = 0 To 255
        Dictionary = Dictionary & Chr(X)
        CharCount(X) = 0
    Next
    CharCount(256) = 0
    BitsForHeader = 3
    For X = 0 To 1
        ReDim Stream(X).Data(500)
        Stream(X).BitPos = 0
        Stream(X).Buffer = 0
        Stream(X).Position = 0
    Next
    Golomb(1) = 0: BitsToFollow(1) = 2    '00
    Golomb(2) = 1: BitsToFollow(2) = 2    '01
    Golomb(3) = 4: BitsToFollow(3) = 3    '100
    Golomb(4) = 5: BitsToFollow(4) = 3    '101
    Golomb(5) = 12: BitsToFollow(5) = 4   '1100
    Golomb(6) = 13: BitsToFollow(6) = 4   '1101
    Golomb(7) = 14: BitsToFollow(7) = 4   '1110
    Golomb(8) = 15: BitsToFollow(8) = 4   '1111
    For X = 0 To 15
        RetGolomb(X) = 0
    Next
    RetGolomb(0) = 1
    RetGolomb(1) = 2
    RetGolomb(4) = 3
    RetGolomb(5) = 4
    RetGolomb(12) = 5
    RetGolomb(13) = 6
    RetGolomb(14) = 7
    RetGolomb(15) = 8
End Sub

Private Function ReducerBits(Char As Integer) As Integer
    Dim DiPos As Integer
    Dim TotPos As Integer
    Dim Y As Integer
    If Char = 256 Then ReducerBits = 8: Char = 255: Exit Function
    DiPos = InStr(Dictionary, Chr(Char)) - 1
    Call update_Model(Char)
    For Y = 1 To 8
        If DiPos >= TotPos And DiPos < TotPos + 2 ^ Y Then
            ReducerBits = Y
            Char = DiPos - TotPos
            Exit Function
        End If
        TotPos = TotPos + 2 ^ Y
    Next
End Function

Private Function ExpanderBits(BitsNum As Integer, BytePos As Integer) As Integer
    If BitsNum = 8 And BytePos = 255 Then ExpanderBits = 256: Exit Function
    Dim TotPos As Integer
    Dim Y As Integer
    For Y = 1 To BitsNum - 1
        TotPos = TotPos + 2 ^ Y
    Next
    TotPos = TotPos + BytePos + 1
    ExpanderBits = ASC(Mid(Dictionary, TotPos, 1))
    Call update_Model(ExpanderBits)
End Function

Private Sub update_Model(Char As Integer)
    Dim DictPos As Integer
    Dim OldPos As Integer
    Dim Temp As Long
    DictPos = InStr(Dictionary, Chr(Char))
    OldPos = DictPos
    CharCount(DictPos) = CharCount(DictPos) + 1
    Do While DictPos > 1 And CharCount(DictPos) >= CharCount(DictPos - 1)
        Temp = CharCount(DictPos - 1)
        CharCount(DictPos - 1) = CharCount(DictPos)
        CharCount(DictPos) = Temp
        DictPos = DictPos - 1
    Loop
    If OldPos = DictPos Then Exit Sub
    Dictionary = Left(Dictionary, DictPos - 1) & Chr(Char) & Mid(Dictionary, DictPos, OldPos - DictPos) & Mid(Dictionary, OldPos + 1)
End Sub

Private Sub AddValueToStream(Number As Integer)
    Dim BitsDeep As Integer
    BitsDeep = ReducerBits(Number)
    Call AddBitsToStream(Stream(0), Golomb(BitsDeep), BitsToFollow(BitsDeep))
    Call AddBitsToStream(Stream(1), Number, BitsDeep)
End Sub

'this sub will add an amount of bits to a sertain stream
Private Sub AddBitsToStream(Toarray As BytePos, Number As Integer, Numbits As Integer)
    Dim X As Long
    If Numbits = 8 And Toarray.BitPos = 0 Then
        If Toarray.Position > UBound(Toarray.Data) Then ReDim Preserve Toarray.Data(Toarray.Position + 500)
        Toarray.Data(Toarray.Position) = Number And &HFF
        Toarray.Position = Toarray.Position + 1
        Exit Sub
    End If
    For X = Numbits - 1 To 0 Step -1
        Toarray.Buffer = Toarray.Buffer * 2 + (-1 * ((Number And 2 ^ X) > 0))
        Toarray.BitPos = Toarray.BitPos + 1
        If Toarray.BitPos = 8 Then
            If Toarray.Position > UBound(Toarray.Data) Then ReDim Preserve Toarray.Data(Toarray.Position + 500)
            Toarray.Data(Toarray.Position) = Toarray.Buffer
            Toarray.BitPos = 0
            Toarray.Buffer = 0
            Toarray.Position = Toarray.Position + 1
        End If
    Next
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, FromBit As Integer, 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 - FromBit)) > 0))
        FromBit = FromBit + 1
        If FromBit = 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
            FromBit = 0
        End If
    Next
    ReadBitsFromArray = Temp
End Function

'this sub will add a char into the outputstream
Private Sub AddCharToArray(Toarray() As Byte, ToPos As Long, Char As Byte)
    If ToPos > UBound(Toarray) Then ReDim Preserve Toarray(ToPos + 500)
    Toarray(ToPos) = Char
    ToPos = ToPos + 1
End Sub

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃 | 欧美色图在线观看| 亚洲中国最大av网站| 欧美日韩一级大片网址| 五月婷婷综合网| 日韩一区二区三区视频在线 | 亚洲成人777| 欧美成人三级在线| 懂色av一区二区三区免费观看 | 一区二区三区美女视频| 欧美三级欧美一级| 日本最新不卡在线| 日本一区二区视频在线观看| 成人国产精品视频| 亚洲高清在线视频| 欧美大尺度电影在线| 国产·精品毛片| 亚洲一区二区精品3399| 精品国产污污免费网站入口| av在线播放成人| 男人的j进女人的j一区| 国精产品一区一区三区mba视频 | 91在线无精精品入口| 首页国产欧美久久| 日本一区二区三区高清不卡| 欧美制服丝袜第一页| 黄色小说综合网站| 一区二区三区免费在线观看| 久久这里只有精品首页| 色综合久久88色综合天天免费| 天天做天天摸天天爽国产一区| 久久精品亚洲乱码伦伦中文| 91福利国产精品| 国产一区二区三区四区五区美女 | 东方欧美亚洲色图在线| 一区二区三区国产| 国产日韩欧美精品电影三级在线| 在线观看视频一区二区| 国产一区 二区| 视频一区二区国产| 欧美国产视频在线| 欧美一区二区在线观看| 91丨九色丨蝌蚪丨老版| 激情欧美日韩一区二区| 亚洲图片欧美色图| 中文字幕日韩精品一区| 26uuu国产在线精品一区二区| 日本精品视频一区二区| 国产成人午夜高潮毛片| 美女精品一区二区| 午夜亚洲福利老司机| 亚洲色图视频免费播放| 国产亚洲午夜高清国产拍精品| 69av一区二区三区| 欧美日韩在线直播| 99精品视频一区| 大桥未久av一区二区三区中文| 精品系列免费在线观看| 午夜不卡av免费| 亚洲一区二区av电影| 亚洲精品国产精华液| 中文字幕第一区第二区| 国产欧美一区二区精品性| 日韩欧美一区二区不卡| 91精品综合久久久久久| 欧美日韩另类国产亚洲欧美一级| 色噜噜偷拍精品综合在线| 9i看片成人免费高清| 粉嫩av一区二区三区粉嫩| 国产在线视频精品一区| 国产主播一区二区| 国产毛片精品一区| 国产一本一道久久香蕉| 国产一区二区成人久久免费影院| 国内精品伊人久久久久av一坑| 久久精品免费观看| 六月丁香婷婷久久| 美女视频黄久久| 久久99热狠狠色一区二区| 麻豆精品视频在线观看视频| 裸体一区二区三区| 国产一区亚洲一区| 国产99久久久久| 岛国精品一区二区| 97se亚洲国产综合在线| 色94色欧美sute亚洲13| 欧美性生活一区| 51精品视频一区二区三区| 91精品欧美久久久久久动漫| 欧美一卡二卡三卡| 久久精品欧美一区二区三区不卡| 国产日韩精品一区二区三区在线| 国产人成亚洲第一网站在线播放| 中文字幕一区二区三区在线观看| 综合自拍亚洲综合图不卡区| 曰韩精品一区二区| 日韩高清一级片| 精品一区二区精品| 粉嫩欧美一区二区三区高清影视| 一本久久综合亚洲鲁鲁五月天| 欧美四级电影在线观看| 制服丝袜激情欧洲亚洲| 精品国产乱码久久久久久浪潮| 国产日本欧美一区二区| 成人欧美一区二区三区小说| 亚洲福利视频一区| 久久99久久99小草精品免视看| 国产精品18久久久久| 色悠久久久久综合欧美99| 欧美精品v国产精品v日韩精品 | 日韩午夜三级在线| 国产无一区二区| 亚洲成人免费观看| 国产一区在线不卡| 欧美性受xxxx黑人xyx性爽| 精品乱人伦小说| 一区二区三区精品视频在线| 久久精品国产澳门| 色偷偷成人一区二区三区91| 日韩欧美你懂的| 亚洲手机成人高清视频| 免费观看30秒视频久久| 91色.com| 久久久久久免费| 无码av免费一区二区三区试看| 国产成人在线视频免费播放| 欧美性生交片4| 中文成人综合网| 免播放器亚洲一区| 一本一本久久a久久精品综合麻豆| 精品少妇一区二区三区| 亚洲免费观看在线观看| 精品一区二区在线看| 欧洲av在线精品| 国产精品成人午夜| 精品一区二区三区在线视频| 色女孩综合影院| 国产嫩草影院久久久久| 美国十次综合导航| 欧美日韩国产首页| 一区二区在线看| 成人av在线资源| 久久久亚洲精华液精华液精华液| 日韩精品免费专区| 91久久香蕉国产日韩欧美9色| 久久蜜臀精品av| 蜜桃精品在线观看| 911精品产国品一二三产区| 亚洲摸摸操操av| 成人精品一区二区三区中文字幕| 久久综合久久久久88| 欧美aⅴ一区二区三区视频| 欧美视频在线一区| 亚洲精品欧美激情| 9i看片成人免费高清| 亚洲国产岛国毛片在线| 国产乱人伦偷精品视频不卡| 精品免费国产二区三区| 美日韩一区二区| 91精品国产一区二区三区香蕉| 日韩在线一二三区| 欧美日韩一区二区三区视频| 亚洲综合区在线| 欧美吞精做爰啪啪高潮| 一区二区三区日韩欧美精品| 色噜噜狠狠成人网p站| 亚洲欧美色图小说| 91蝌蚪porny| 一区二区在线观看视频| 色综合久久综合网| 亚洲与欧洲av电影| 欧美日韩一区二区欧美激情| 午夜a成v人精品| 日韩精品专区在线影院观看| 另类专区欧美蜜桃臀第一页| 2019国产精品| 国产91富婆露脸刺激对白| 国产精品毛片久久久久久| 成人avav在线| 亚洲日本一区二区| 欧美中文字幕亚洲一区二区va在线| 亚洲va天堂va国产va久| 欧美一级欧美一级在线播放| 久久精品国产澳门| 国产日产欧美一区二区视频| 成人av小说网| 亚洲综合免费观看高清完整版 | 久久综合色综合88| 不卡的av电影在线观看| 夜夜精品视频一区二区| 日韩无一区二区| 成人小视频免费在线观看| 亚洲精品视频一区| 欧美一区二区人人喊爽| 国产成a人无v码亚洲福利| 亚洲精品乱码久久久久久久久 | 久久这里只精品最新地址| 成人晚上爱看视频| 亚洲成人免费观看|