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

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

?? comp_reducerdyngol.bas

?? 里面有二十一種加密的算法,很好用的哦,大家一定要多多下載啊
?? BAS
字號:
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
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区电影在线播| 在线不卡中文字幕| 欧美极品aⅴ影院| 国产91精品精华液一区二区三区| 久久婷婷成人综合色| 国产成人av一区二区三区在线| 日本一区二区视频在线观看| 99视频一区二区| 亚洲第一在线综合网站| 欧美精品日日鲁夜夜添| 久久精品国产第一区二区三区| 欧美不卡视频一区| 成人a区在线观看| 亚洲无线码一区二区三区| 欧美一区二区免费视频| 成人综合在线视频| 亚洲午夜激情网站| 精品少妇一区二区三区在线播放| 国产精品一区二区久久不卡| 国产精品久久毛片a| 欧美日韩免费高清一区色橹橹 | 欧美日韩国产天堂| 美女视频黄免费的久久| 久久精品人人做人人综合| 91一区二区三区在线观看| 日韩制服丝袜av| 国产精品美女久久久久久久久| 欧美自拍偷拍午夜视频| 韩国精品免费视频| 亚洲一区二区精品视频| 国产视频视频一区| 欧美日韩高清在线播放| 国产福利一区二区三区视频在线| 亚洲免费观看视频| 精品国产免费人成电影在线观看四季| proumb性欧美在线观看| 蜜桃视频在线观看一区二区| 亚洲男同性恋视频| 久久一区二区三区四区| 51精品久久久久久久蜜臀| 成人教育av在线| 久色婷婷小香蕉久久| 亚洲视频在线观看三级| 精品裸体舞一区二区三区| 欧洲生活片亚洲生活在线观看| 国产资源在线一区| 日韩av一区二区在线影视| 亚洲丝袜精品丝袜在线| 久久久久久毛片| 日韩免费看网站| 欧美精品少妇一区二区三区| 色综合久久久久久久久久久| 国产乱码精品一区二区三| 毛片av一区二区| 午夜电影一区二区| 一级日本不卡的影视| 国产精品久久久久久久久久免费看| 日韩一区二区精品葵司在线| 欧美视频在线观看一区二区| 91丝袜高跟美女视频| 国产精品性做久久久久久| 理论片日本一区| 日本不卡视频在线| 婷婷开心久久网| 性欧美大战久久久久久久久| 亚洲免费在线电影| 亚洲老司机在线| 成人免费在线视频观看| 国产精品欧美一区二区三区| 久久久www成人免费毛片麻豆| 日韩午夜精品电影| 日韩小视频在线观看专区| 日韩午夜在线观看| 日韩精品一区在线观看| 日韩免费电影网站| 精品国产凹凸成av人网站| 日韩欧美的一区二区| 日韩精品专区在线影院重磅| 日韩一区二区在线看片| 日韩欧美国产小视频| 日韩欧美电影一区| 欧美精品一区男女天堂| 久久久久久电影| 日本一区二区久久| 中文字幕一区日韩精品欧美| 综合久久国产九一剧情麻豆| 亚洲色图都市小说| 亚洲午夜精品网| 免费在线成人网| 国产一区二区福利| 不卡免费追剧大全电视剧网站| 成人精品在线视频观看| 91麻豆免费视频| 欧美日韩一区在线| 精品久久国产字幕高潮| 精品粉嫩超白一线天av| 欧美国产精品一区| 亚洲美女精品一区| 日本视频免费一区| 粉嫩av一区二区三区在线播放| www.欧美亚洲| 欧美久久一区二区| 精品盗摄一区二区三区| 中文字幕欧美三区| 一区二区三区免费看视频| 日韩国产精品久久久久久亚洲| 精品一区二区三区免费毛片爱| 成人免费视频一区| 欧美色区777第一页| 欧美精品一区二区三区蜜臀 | 日韩一级在线观看| 国产视频911| 亚洲一区二区三区视频在线| 六月丁香婷婷久久| 日本久久一区二区| 欧美不卡一区二区| 一区二区三区欧美在线观看| 蜜桃视频在线观看一区| 色综合久久综合网| www精品美女久久久tv| 亚洲综合色噜噜狠狠| 激情另类小说区图片区视频区| 色欲综合视频天天天| 久久一留热品黄| 亚洲制服丝袜在线| 国产成人在线视频网址| 欧美亚洲免费在线一区| 国产三级精品三级| 天天色综合成人网| 色欧美片视频在线观看在线视频| 日韩欧美视频在线| 亚洲国产aⅴ天堂久久| 播五月开心婷婷综合| 日韩欧美亚洲国产精品字幕久久久 | 激情图片小说一区| 欧美日韩欧美一区二区| 亚洲男人都懂的| 成人综合婷婷国产精品久久| 日韩一区二区在线看片| 亚洲成人av电影| 色综合久久综合网欧美综合网| 国产婷婷色一区二区三区在线| 三级在线观看一区二区| 欧美亚洲综合另类| 亚洲视频一二区| 国产69精品久久久久777| 日韩欧美二区三区| 日本va欧美va欧美va精品| 欧美三级电影在线观看| 一区二区三区中文字幕精品精品 | 中文字幕乱码一区二区免费| 蜜桃一区二区三区在线观看| 欧美精品九九99久久| 亚洲午夜av在线| 欧美午夜免费电影| 一级中文字幕一区二区| 91成人免费网站| 亚洲乱码一区二区三区在线观看| 成人动漫一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 久久精品99国产精品日本| 欧美一区永久视频免费观看| 天堂影院一区二区| 欧美一区二区三区四区高清| 视频一区欧美日韩| 欧美放荡的少妇| 日韩高清不卡一区二区三区| 欧美高清视频不卡网| 日韩精品成人一区二区在线| 日韩一区二区免费高清| 经典三级视频一区| 欧美国产精品专区| 99精品久久只有精品| 亚洲精品少妇30p| 欧美伊人精品成人久久综合97| 亚洲成人免费av| 欧美一级欧美一级在线播放| 奇米在线7777在线精品| 欧美videossexotv100| 国产在线精品国自产拍免费| 国产三级欧美三级| 成人97人人超碰人人99| 亚洲激情一二三区| 欧美日本一区二区在线观看| 日本系列欧美系列| 国产亚洲1区2区3区| 99国产精品久久| 亚洲成人你懂的| 久久久www免费人成精品| 91丨porny丨蝌蚪视频| 日韩一区精品字幕| 久久影院午夜片一区| eeuss国产一区二区三区| 亚洲午夜免费视频| 日韩欧美一级二级三级久久久| 国产精品系列在线播放| 亚洲精品第1页| 精品国产三级a在线观看| 波多野结衣中文一区| 亚洲大尺度视频在线观看|