Mencoba melakukan kompresi data

pemrograman


aku mencoba menciptakan..

(Kompresi Data Acak Lossless Rekursif)

Mereka bilang ; bahwa itu tidak mungkin…
Saya sudah mencoba membuktikan bahwa mereka salah…

Apa yang saya coba:

==================== =
ARZ ( Albert Redditt Zip )

(Kompresi Data Acak Lossless Rekursif)

Kompres file ukuran apa pun hingga sekitar 2600 Bytes.
Kode ditulis dalam FreeBASIC..
==================== =

DASAR
dim as ubyte count = 0
do
    if len( bits ) mod 7 <> 0 then bits+= "0" : count+= 1 else exit do
loop

chrs = string( len( bits ) \ 7 , "0" ) + chr( count )
dim as longint place = 0
dim as string m1 , m2
for a as longint = 0 to len( bits ) - 1 step 7

    if bits[ a + 0 ] = 49 then m1 = "1000" else m1 = "0000"
    if bits[ a + 1 ] = 49 then m1[ 1 ]+= 1
    if bits[ a + 2 ] = 49 then m1[ 2 ]+= 1
    if bits[ a + 3 ] = 49 then m1[ 3 ]+= 1
    
    if bits[ a + 4 ] = 49 then m2 = "101" else m2 = "111"
    if bits[ a + 5 ] = 49 then m2[ 2 ]-= 1
    if bits[ a + 6 ] = 49 then m2+= "0"
    
    m1+= m2
    
    chrs[ place ] = val( "&B" + m1 ) : place+= 1
                
next
bits = ""

chrs = Zlibrary.pack( chrs )

loops+= 1

================
Terus ulangi sampai tidak bisa mengecil lagi..
Saya memanggil Zlib.dll untuk melakukan kompresi sebenarnya…
================

Solusi 1

Mengutip:

Kompres file ukuran apa pun hingga sekitar 2600 Bytes.

Pernyataan itu saja berarti Anda tidak memahami apa yang Anda lakukan, dan Anda memiliki masalah tabrakan BESAR dengan algoritme Anda, TIDAK PEDULI BAGAIMANA PENULISANNYA ATAU APA YANG DILAKUKANNYA.

Anda baru saja mengatakan bahwa Anda dapat merepresentasikan jumlah byte yang hampir tak terhingga, dalam jumlah kemungkinan kombinasi yang hampir tak terhingga, hanya dengan 20.800 bit.

Omong kosong.

YANG TERBAIK, ini akan menghasilkan hash kriptografi, bukan kompresi. Anda memiliki beberapa kemungkinan sumber yang semuanya dapat menghasilkan hash hasil yang sama persis.

コメント

タイトルとURLをコピーしました