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

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

?? cod_bwt.bas

?? 目前程序中使用的多種數法的源代碼,帶加解密例子
?? BAS
字號:
Attribute VB_Name = "Cod_BWT"
Option Explicit

'This is a Burrows-Wheeler transform coder
'It works by sorting al the data in lexicographical order
'and the it takes the last character of each array
'----------------------Transform----------------------
'The array must be seen as a circle so LAST+1=FIRST
'then you make copies of it len(text) times but every copy has shift 1 to the right
'then you can sort the strings
'
'example: Hariyanto
'
'   original                    sorted
'
'   0 = H a r i y a n t o       0 = 0 = H a r i y a n t o
'   1 = a r i y a n t o H       1 = 5 = a n t o H a r i y
'   2 = r i y a n t o H a       2 = 1 = a r i y a n t o H
'   3 = i y a n t o H a r       3 = 3 = i y a n t o H a r
'   4 = y a n t o H a r i       4 = 6 = n t o H a r i y a
'   5 = a n t o H a r i y       5 = 8 = o H a r i y a n t
'   6 = n t o H a r i y a       6 = 2 = r i y a n t o H a
'   7 = t o H a r i y a n       7 = 7 = t o H a r i y a n
'   8 = o H a r i y a n t       8 = 4 = y a n t o H a r i
'
'if u take the last characters of the sorted strings u'll get
'   oyHratani with prefix 2
'don't forget the prefix (without it you won't get the original text back)
'-------------------Decode-----------------------
'The thing we need to do is create another string with the same contents
'and sort that other string so that we get
'
'place: 0 1 2 3 4 5 6 7 8
'org:   o y H r a t a n i
'new:   H a a i n o r t y
'
'now where gone create a transformation table
'If we take the first 'H' as position 0 and look it up in the org we'll see
'that we find the first 'H' in place 2. This means that TV(0)=2
'The first 'a' in new we'll find as the first 'a' in org. so TV(1)=4
'after doing all the characters u will get a table like this
'( 2 , 4 , 6 , 8 , 7 , 0 , 3 , 5 , 1 ) this is base 0
'with help if the prefix we now gen get the original string back according to
'the next
'
'   Offset=prefix
'   For i = 0 To lenght of text
'       BWT_DeCodecString = BWT_DeCodecString & Chr(L(Offset))
'       Offset = TV(Offset)
'   Next
'

Public Sub BWT_CodecArray4(ByteArray() As Byte)
    Dim F() As Long
    Dim FTemp() As Long
    Dim OutStream() As Byte
    Dim I As Long
    Dim J As Long
    Dim b As Long
    Dim L As Long
    Dim t As Long
    Dim r As Long
    Dim d As Long
    Dim K As Long
    Dim Y As Long
    Dim Z As Long
    Dim Q As Integer
    Dim ASC As Integer
    Dim FileLength As Long
    Dim p(1 To 100) As Long
    Dim W(1 To 100) As Long
    Dim X As Long
    Dim Prefix As Long
    Dim CharCount(255) As Long
    Dim TempCount() As Long
    Dim Spos(255) As Long
    Dim TPos() As Long
    Dim CheckPos As Long
    Dim NuPos As Long
    FileLength = UBound(ByteArray)
    ReDim F(FileLength)
'This is the speedsort method wich is the fastest as far as i know
'first whe collect the frequentie of each char
    For X = 0 To FileLength
        CharCount(ByteArray(X)) = CharCount(ByteArray(X)) + 1
    Next
'then where gone create the offset pointers
    NuPos = 0
    For X = 0 To 255
        If CharCount(X) > 0 Then
            Spos(X) = NuPos
            NuPos = NuPos + CharCount(X)
        End If
    Next
'and last where place the pointers in order
    For X = 0 To FileLength
        F(Spos(ByteArray(X))) = X
        Spos(ByteArray(X)) = Spos(ByteArray(X)) + 1
    Next

'The BytePointers are now sorted
'and now where cone try to create lexicograpical sorted arrays
'Lets start with a speedsort method and finish the job with Quicksort
    For ASC = 0 To 255
        If CharCount(ASC) > 1 Then
            ReDim TempCount(255)
            ReDim TPos(255)
            ReDim FTemp(CharCount(ASC) - 1)
            NuPos = Spos(ASC) - CharCount(ASC)
            Z = 0
            For X = NuPos To NuPos + CharCount(ASC) - 1
                FTemp(Z) = F(X)
                Z = Z + 1
            Next
            For X = 0 To CharCount(ASC) - 1
                Z = FTemp(X) + 1: If Z > FileLength Then Z = Z - FileLength - 1
                TempCount(ByteArray(Z)) = TempCount(ByteArray(Z)) + 1
            Next
            For X = 0 To 255
                If TempCount(X) > 0 Then
                    TPos(X) = NuPos
                    NuPos = NuPos + TempCount(X)
                End If
            Next
            For X = 0 To CharCount(ASC) - 1
                Z = FTemp(X) + 1: If Z > FileLength Then Z = Z - FileLength - 1
                F(TPos(ByteArray(Z))) = FTemp(X)
                TPos(ByteArray(Z)) = TPos(ByteArray(Z)) + 1
            Next
            NuPos = Spos(ASC) - CharCount(ASC)
            For Q = 0 To 255
                If TempCount(Q) > 0 Then
                    L = NuPos
                    r = NuPos + TempCount(Q) - 1
                    NuPos = NuPos + TempCount(Q)
                    If TempCount(Q) > 1 Then GoSub QuickSort
                End If
            Next
        End If
    Next
' The array is sorted so let get the last characters and store them
' in the output stream
    ReDim OutStream(FileLength + 2)
    For I = 0 To FileLength
        If F(I) = 1 Then Prefix = I
        If F(I) = 0 Then
            OutStream(I) = ByteArray(FileLength)
        Else
            OutStream(I) = ByteArray(F(I) - 1)
        End If
    Next
    OutStream(FileLength + 1) = Int(Prefix / &H100) And &HFF
    OutStream(FileLength + 2) = Prefix And &HFF
end_Test:
    ReDim ByteArray(UBound(OutStream))
    Call CopyMem(ByteArray(0), OutStream(0), UBound(OutStream) + 1)
    Exit Sub
    
QuickSort:
    K = 1
    p(K) = L
    W(K) = r
    d = 1
    Do
toploop:
        If r - L < 10 Then GoTo bubsort
        I = L
        J = r
        While J > I
            Y = F(I) + 1: If Y > FileLength Then Y = Y - FileLength - 1
            Z = F(J) + 1: If Z > FileLength Then Z = Z - FileLength - 1
            Do While ByteArray(Y) = ByteArray(Z)
                Y = Y + 1: If Y > FileLength Then Y = Y - FileLength - 1
                Z = Z + 1: If Z > FileLength Then Z = Z - FileLength - 1
            Loop
            If ByteArray(Y) > ByteArray(Z) Then
                t = F(J)
                F(J) = F(I)
                F(I) = t
                d = -d
            End If
            If d = -1 Then
                J = J - 1
            Else
                I = I + 1
            End If
        Wend
        J = J + 1
        K = K + 1
        If I - L < r - J Then
            p(K) = J
            W(K) = r
            r = I
        Else
            p(K) = L
            W(K) = I
            L = J
        End If
        d = -d
        GoTo toploop
bubsort:
    If r - L > 0 Then
        For I = L To r
            b = I
            For J = b + 1 To r
                Y = F(J) + 1: If Y > FileLength Then Y = Y - FileLength - 1
                Z = F(b) + 1: If Z > FileLength Then Z = Z - FileLength - 1
                Do While ByteArray(Y) = ByteArray(Z)
                    Y = Y + 1: If Y > FileLength Then Y = Y - FileLength - 1
                    Z = Z + 1: If Z > FileLength Then Z = Z - FileLength - 1
                Loop
                If ByteArray(Y) < ByteArray(Z) Then b = J
            Next J
            If I <> b Then
                t = F(b)
                F(b) = F(I)
                F(I) = t
            End If
        Next I
    End If
    L = p(K)
    r = W(K)
    K = K - 1
    Loop Until K = 0
    Return

End Sub

'Here whe gone restore the BWT-coded string
Public Sub BWT_DeCodecArray4(ByteArray() As Byte)
    Dim TV() As Long
    Dim Spos(255) As Long
    Dim FileLength As Long
    Dim OffSet As Long
    Dim X As Long
    Dim Y As Long
    Dim NuPos As Long
    Dim CharCount(255) As Long
    Dim OutStream() As Byte
    FileLength = UBound(ByteArray)
'read the offset and restore the original size
    OffSet = CLng(ByteArray(FileLength - 1)) * 256 + ByteArray(FileLength)
    ReDim Preserve ByteArray(FileLength - 2)
    FileLength = UBound(ByteArray)
    ReDim OutStream(FileLength)
    ReDim TV(FileLength)
'Lets use the speedsort method to sort the array
'(no need to do it lexicographical)
    For X = 0 To FileLength
        CharCount(ByteArray(X)) = CharCount(ByteArray(X)) + 1
    Next
    NuPos = 0
' Place the items in the sorted array.
    For X = 0 To 255
        Spos(X) = NuPos
        NuPos = NuPos + CharCount(X)
    Next
'Now whe have the original and the sorted array so whe can construct
'a transformation tabel
    For X = 0 To FileLength
        TV(Spos(ByteArray(X))) = X
        Spos(ByteArray(X)) = Spos(ByteArray(X)) + 1
    Next
'with use of the transformation tabel and the offset whe can reconstruct
'the original data
    For X = 0 To FileLength
        OutStream(X) = ByteArray(OffSet)
        OffSet = TV(OffSet)
    Next
    Call CopyMem(ByteArray(0), OutStream(0), UBound(OutStream) + 1)
End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99国产精品麻豆| 欧美性色欧美a在线播放| 91在线云播放| 日韩精品一区二区三区老鸭窝| 欧美激情在线看| 久久精品国产一区二区三区免费看| 91小视频在线观看| 2014亚洲片线观看视频免费| 一区二区三区不卡在线观看 | 99在线精品一区二区三区| 欧美精品色一区二区三区| 国产精品系列在线| 国产伦精品一区二区三区视频青涩| 欧美少妇bbb| 亚洲另类在线制服丝袜| 国产成人一级电影| 久久蜜桃香蕉精品一区二区三区| 免费成人av在线| 欧美精品一级二级| 亚洲综合色视频| 91猫先生在线| 亚洲视频在线一区观看| 成人做爰69片免费看网站| 久久综合网色—综合色88| 九九久久精品视频| 337p日本欧洲亚洲大胆精品| 免费美女久久99| 欧美一区二区黄色| 免费视频最近日韩| 日韩你懂的在线播放| 麻豆国产欧美一区二区三区| 欧美一区二区在线视频| 蜜臀久久久99精品久久久久久| 欧美精品日日鲁夜夜添| 日韩高清不卡一区二区三区| 欧美美女直播网站| 五月天亚洲精品| 在线91免费看| 久久99国产精品免费网站| 国产香蕉久久精品综合网| 国产乱妇无码大片在线观看| 欧美激情艳妇裸体舞| 丁香婷婷综合激情五月色| 中文字幕在线一区免费| 色呦呦网站一区| 性做久久久久久| 日韩欧美美女一区二区三区| 国产一区二区在线看| 中文子幕无线码一区tr| 色悠悠亚洲一区二区| 日韩高清不卡一区二区三区| 26uuu国产一区二区三区| 国产91精品在线观看| 亚洲欧美区自拍先锋| 欧美在线观看一区| 久久国产福利国产秒拍| 亚洲国产精品黑人久久久| 91在线观看污| 日韩电影一二三区| 久久久精品tv| 91成人免费网站| 国产一区二区视频在线| 最新国产精品久久精品| 69久久99精品久久久久婷婷| 国产老妇另类xxxxx| 国产精品美女www爽爽爽| 欧美日韩成人在线一区| 高清av一区二区| 亚洲h在线观看| 亚洲国产精品av| 欧美日韩精品二区第二页| 狠狠久久亚洲欧美| 尤物视频一区二区| 国产视频一区在线观看| 欧美精品电影在线播放| 成人福利视频在线看| 免费人成在线不卡| 一区二区三区成人| 欧美国产精品久久| 欧美一区二区三区四区视频| 91蜜桃免费观看视频| 久久精品国产99久久6| 一区二区三区丝袜| 国产精品久久毛片| 日韩一级免费观看| 欧美性色黄大片| av电影在线观看不卡| 国内外成人在线| 丝袜亚洲另类丝袜在线| 亚洲女与黑人做爰| 欧美国产综合一区二区| 日韩三区在线观看| 欧美人与禽zozo性伦| 99久久精品国产精品久久| 国产成人在线视频网址| 久久精品国产在热久久| 天堂成人免费av电影一区| 亚洲精品欧美激情| 亚洲欧洲日产国产综合网| 中文字幕精品三区| 久久女同精品一区二区| 日韩视频免费观看高清完整版 | 日本乱码高清不卡字幕| 国产成人综合网| 国产一区二区三区免费播放| 美女视频一区二区三区| 午夜电影一区二区三区| 亚洲h在线观看| 午夜精品免费在线观看| 午夜精品久久久久久久99樱桃| 一区二区三区四区不卡视频| 亚洲免费av观看| 一区二区三区免费网站| 亚洲欧美成人一区二区三区| 亚洲人成网站精品片在线观看| 国产精品亲子乱子伦xxxx裸| 亚洲欧美中日韩| 亚洲日本在线看| 亚洲在线视频网站| 亚洲国产成人91porn| 丝袜美腿亚洲综合| 日韩综合一区二区| 六月丁香婷婷色狠狠久久| 韩国一区二区三区| 国产精品一二一区| 成人国产在线观看| 91国偷自产一区二区开放时间 | 在线综合视频播放| 欧美日韩一区二区欧美激情| 欧美一区二区三区婷婷月色 | 粉嫩13p一区二区三区| 国产精品99久久久久久宅男| 国产精品18久久久久久久网站| 成人综合在线视频| 91成人免费电影| 欧美va亚洲va香蕉在线| 久久久久国产精品人| 国产精品每日更新| 丝袜美腿一区二区三区| 国产呦精品一区二区三区网站| 99re成人在线| 欧美日韩不卡一区| 久久先锋影音av| 亚洲免费在线观看视频| 水野朝阳av一区二区三区| 久久97超碰色| 91亚洲大成网污www| 欧美一区二区久久| 日韩久久一区二区| 蜜臀av一区二区在线免费观看| 国产福利一区在线| 欧洲生活片亚洲生活在线观看| 日韩一区二区三区在线观看| 亚洲国产精品传媒在线观看| 午夜精品国产更新| 粉嫩蜜臀av国产精品网站| 欧美二区乱c少妇| 中文字幕亚洲视频| 午夜久久久影院| 99久久精品免费| 日韩限制级电影在线观看| 中文字幕一区二区在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 成人污污视频在线观看| 欧美电影免费观看高清完整版| 亚洲精品少妇30p| 国产一区二区三区视频在线播放| 欧美午夜精品一区二区蜜桃 | caoporn国产精品| 精品国产网站在线观看| 亚洲国产另类av| 成人a区在线观看| 久久奇米777| 久久99精品国产91久久来源| 欧美久久久久久久久中文字幕| 亚洲国产精品ⅴa在线观看| 久久福利资源站| 91精品国产丝袜白色高跟鞋| 亚洲黄一区二区三区| 成人午夜电影网站| 久久久久免费观看| 黑人精品欧美一区二区蜜桃| 制服视频三区第一页精品| 亚洲成人在线观看视频| 91蜜桃网址入口| 一区二区高清免费观看影视大全 | 懂色av一区二区三区免费看| 91精品国产综合久久精品| 亚洲国产一区在线观看| 91在线小视频| 中文字幕视频一区二区三区久| 久久精品国产99久久6| 日韩精品在线看片z| 日本不卡在线视频| 9191成人精品久久| 日本最新不卡在线| 欧美一区二区视频观看视频| 秋霞影院一区二区| 91精品国产欧美一区二区18 | 成人精品免费看|