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

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

?? comp_reducerdyngol.bas

?? 常用加密算法用VB來實現(xiàn)
?? 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一区二区三区免费野_久草精品视频
色域天天综合网| 亚洲成av人片观看| 国产精品亚洲专一区二区三区 | 国产日韩欧美高清| 国产精品原创巨作av| 久久久亚洲高清| 国产成人免费av在线| 国产精品色哟哟网站| 一本色道**综合亚洲精品蜜桃冫| 亚洲精品视频在线看| 欧美亚洲动漫精品| 久久se这里有精品| 国产精品毛片高清在线完整版 | 亚洲女同ⅹxx女同tv| 欧美在线不卡视频| 久久机这里只有精品| 亚洲国产精品精华液2区45| 色偷偷久久一区二区三区| 日韩在线播放一区二区| 国产丝袜在线精品| 在线观看欧美日本| 国产一区二区三区av电影 | 久久精品噜噜噜成人88aⅴ| 国产三级久久久| 欧美性猛交xxxxxx富婆| 久久国产精品72免费观看| 国产精品久久久久久户外露出| 欧洲一区二区三区免费视频| 精品在线播放免费| 亚洲精品国产成人久久av盗摄 | 中文字幕亚洲视频| 欧美一区二区在线看| 成人avav影音| 韩日av一区二区| 一区二区三区波多野结衣在线观看| 欧美电影免费提供在线观看| 91蜜桃婷婷狠狠久久综合9色| 天天操天天综合网| 亚洲国产精品成人综合色在线婷婷| 欧美午夜精品一区| www.欧美精品一二区| 另类专区欧美蜜桃臀第一页| 一区二区三区四区蜜桃| 久久婷婷综合激情| 3d成人动漫网站| 91视频一区二区| 国产美女娇喘av呻吟久久| 亚洲在线视频网站| 国产精品久久久久桃色tv| 欧美一区三区二区| 在线观看一区不卡| 99久久久免费精品国产一区二区| 精品一区免费av| 日日夜夜精品视频免费| 一区二区三区四区乱视频| 中文字幕成人av| 久久无码av三级| 欧美xingq一区二区| 欧美日韩美女一区二区| 色综合久久久久久久久| 成人av免费在线播放| 国产成人免费9x9x人网站视频| 蜜桃久久精品一区二区| 日韩精品午夜视频| 亚洲高清免费在线| 91精品国产欧美日韩| 粉嫩aⅴ一区二区三区四区五区 | 国产精品二三区| 欧美精品一区二区在线播放| 777奇米成人网| 欧美日韩一区二区在线观看视频| 一本到高清视频免费精品| 白白色 亚洲乱淫| 成人18视频在线播放| 丁香激情综合五月| 成人高清伦理免费影院在线观看| 成人亚洲精品久久久久软件| 国产福利一区二区| 懂色av噜噜一区二区三区av| 国产精品一区二区免费不卡 | 中文字幕欧美日韩一区| 国产亚洲人成网站| 国产欧美va欧美不卡在线| 国产色91在线| 中文字幕人成不卡一区| 国产精品色噜噜| 亚洲激情av在线| 亚洲福利视频三区| 日本色综合中文字幕| 亚洲成年人影院| 日韩精品久久久久久| 久久se这里有精品| 国产成人亚洲综合色影视| 成人性视频免费网站| proumb性欧美在线观看| 色美美综合视频| 欧美三级电影网站| 日韩欧美在线综合网| 久久久久久久久久久久电影| 国产精品婷婷午夜在线观看| 亚洲免费观看高清完整版在线观看熊 | 亚洲色大成网站www久久九九| 亚洲女同一区二区| 日韩激情视频在线观看| 激情综合色丁香一区二区| 国产成人精品一区二区三区四区 | 欧美日韩久久一区| 欧美xxxx老人做受| 亚洲视频你懂的| 日本少妇一区二区| 成人avav影音| 欧美丰满少妇xxxxx高潮对白 | 欧美日本一道本| 精品91自产拍在线观看一区| 国产精品美女久久久久av爽李琼| 亚洲一区自拍偷拍| 国模娜娜一区二区三区| 色婷婷狠狠综合| 久久综合久久鬼色中文字| 亚洲欧美视频在线观看视频| 裸体一区二区三区| 91女厕偷拍女厕偷拍高清| 日韩三级在线观看| 亚洲乱码中文字幕| 国产综合色精品一区二区三区| 91成人在线观看喷潮| 久久精品视频网| 日本aⅴ亚洲精品中文乱码| 成人福利在线看| 精品国产伦一区二区三区观看体验| 成人欧美一区二区三区视频网页| 免费一区二区视频| 在线视频一区二区免费| 中文字幕av在线一区二区三区| 日本不卡中文字幕| 欧美综合亚洲图片综合区| 国产精品视频第一区| 久久国产精品露脸对白| 欧美日韩1234| 亚洲男人的天堂av| av一二三不卡影片| 久久精品日韩一区二区三区| 男女视频一区二区| 欧美日韩一区二区三区在线看| √…a在线天堂一区| 国产99精品视频| 欧美videofree性高清杂交| 日韩精品电影在线观看| 日本道在线观看一区二区| 国产精品久久久久久亚洲毛片| 久久精品国产色蜜蜜麻豆| 884aa四虎影成人精品一区| 一区二区三区在线免费播放| 99r国产精品| 国产精品久久久久影视| 岛国精品在线播放| 国产性色一区二区| 国产一区91精品张津瑜| 精品久久久久一区| 老司机免费视频一区二区三区| 3atv一区二区三区| 喷水一区二区三区| 欧美一区二区福利视频| 午夜伊人狠狠久久| 欧美猛男男办公室激情| 首页国产欧美日韩丝袜| 5858s免费视频成人| 日韩成人免费看| 日韩一区二区三区视频| 久久精品久久久精品美女| 欧美成人aa大片| 国产成人精品影院| 国产精品毛片大码女人| 91色porny蝌蚪| 亚洲最新在线观看| 欧美猛男超大videosgay| 亚洲成人tv网| 日韩免费性生活视频播放| 精彩视频一区二区| 欧美国产丝袜视频| 在线亚洲+欧美+日本专区| 婷婷一区二区三区| 精品日韩一区二区| 国产成人精品www牛牛影视| 国产精品私人影院| 色综合久久中文综合久久97| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩国产小视频在线观看| 日韩国产在线一| 久久久五月婷婷| 不卡大黄网站免费看| 夜夜爽夜夜爽精品视频| 日韩欧美一区在线观看| 成人午夜在线视频| 亚洲成在人线在线播放| 欧美精品一区二区精品网| 99re视频精品| 蜜臀精品久久久久久蜜臀| 国产视频一区二区三区在线观看| 97久久精品人人澡人人爽|