Ekstrak PAXR

Tak terbatas pekerjaan. Ukuran file hingga 2.5GB. Gratis, selamanya.

Semua lokal

Konverter kami berjalan di browser Anda, jadi kami tidak pernah melihat data Anda.

Sangat cepat

Tidak perlu mengunggah file Anda ke server—konversi dimulai seketika.

Aman secara default

Berbeda dengan konverter lain, file Anda tidak pernah diunggah ke kami.

Apa itu format PAXR?

Pertukaran Arsip Portabel Reduksi

PAX (Pre-Allocate eXtension) adalah format arsip terkompresi sumber terbuka yang dikembangkan oleh Microsoft sebagai alternatif modern untuk format yang sudah ada seperti ZIP, RAR, dan tar. Format ini dirancang untuk mengatasi keterbatasan dan meningkatkan kompresi, performa, keamanan, dan fungsionalitas penanganan arsip pada sistem dan perangkat modern.

Fitur pembeda utama dari format PAX mencakup kompresi yang ditingkatkan menggunakan algoritme modern, akses acak yang efisien ke file dalam arsip, dukungan multi-threading asli, metadata yang dapat diperluas, enkripsi bawaan dan pemeriksaan integritas, serta spesifikasi terbuka yang terdokumentasi untuk mendorong adopsi dan interoperabilitas yang luas.

Arsip PAX menggunakan ekstensi file .pax dan memiliki struktur internal multi-bagian yang terdiri dari header, direktori pusat, blok data terkompresi, dan footer. Hal ini memungkinkan informasi penting seperti konten arsip, parameter kompresi, dan hash integritas untuk disimpan secara terpisah dari data file terkompresi yang sebenarnya.

Header PAX dimulai dengan nomor ajaib 4-byte (50 41 58 00 dalam hex) untuk identifikasi. Kemudian berisi bidang untuk versi PAX, metode kompresi, metode enkripsi, metode hash, ukuran blok, jumlah utas kompresi paralel, dan berbagai flag. Header diakhiri dengan metadata XML yang dapat diperluas yang memberikan detail tentang arsip.

Setelah header adalah direktori pusat PAX. Ini berisi entri untuk setiap file/folder terkompresi dalam arsip, menyimpan jalur lengkap, atribut, ukuran, offset blok, dan hash. Memiliki ini di satu tempat memungkinkan daftar isi arsip secara efisien dan akses acak ke file individual tanpa memindai data terkompresi.

Sebagian besar arsip PAX adalah serangkaian blok data terkompresi. Setiap blok memiliki header kecil yang menunjukkan ukuran yang tidak terkompresi dan terkompresi, diikuti oleh potongan data file yang dikompresi dengan algoritme yang dikonfigurasi. Blok default berukuran 1 MB tetapi ini dapat disesuaikan di header arsip.

Blok data terkompresi dienkripsi secara opsional jika metode enkripsi ditentukan. PAX mendukung skema enkripsi modern seperti AES-256. Kata sandi arsip digunakan untuk memperoleh kunci yang mengenkripsi setiap blok secara independen, memungkinkan akses acak yang efisien. Untuk otentikasi, PAX melakukan hash kata sandi dengan KDF yang aman.

Untuk kompresi, PAX mendukung berbagai codec tujuan umum modern yang dioptimalkan untuk dekompresi cepat: LZMA, LZ4, Brotli, Zstandard, dll. Ini juga memungkinkan praprosesor untuk pengurangan ukuran lebih lanjut pada jenis file tertentu (misalnya pengkodean Delta pada EXE/DLL, pengkodean E8E9 pada kode x86). Codec dan praprosesor diterapkan dalam sebuah alur.

Untuk mengaktifkan kompresi multi-utas yang efisien, file dipartisi menjadi blok terkompresi independen yang dapat diproses oleh instans codec paralel. Kompresor PAX menskalakan secara otomatis untuk menggunakan semua inti CPU yang tersedia. Partisi serupa memungkinkan dekompresi paralel untuk ekstraksi yang lebih cepat.

PAX menyediakan integritas data dan deteksi gangguan dengan menyimpan hash dari data asli dan terkompresi. Arsip membawa hash header untuk mendeteksi pemotongan. Direktori pusat juga di-hash untuk mencegah gangguan pada metadata file. Bit rot dalam data terkompresi ditangkap dengan melakukan hash pada setiap blok.

Di akhir arsip PAX adalah footer. Ini berisi salinan bidang header, offset/ukuran direktori pusat, dan hash seluruh arsip. Footer memiliki ukuran tetap dan selalu di akhir file, memungkinkan lokasi dan verifikasi arsip PAX dengan mudah.

Arsip PAX dapat diperbarui secara efisien dengan memodifikasi direktori pusat dan menambahkan blok data yang diubah, dibandingkan dengan menulis ulang seluruh arsip seperti ZIP. Seluruh file dapat disisipkan, dihapus, atau diganti dengan memperbarui metadata dan menambahkan/menghapus blok yang relevan. Arsip juga dapat ditambahkan dengan cepat.

Untuk mengurangi kerentanan zip-slip, PAX memerlukan jalur eksplisit (tidak ada traversal ../) dan mencegah penulisan di luar root ekstraksi. Bidang metadata ZIP yang panjang yang memungkinkan penolakan layanan dibatasi. Bom kompresi dikurangi melalui batasan pada rasio kompresi dan penggunaan memori.

Stempel waktu file dalam arsip PAX menggunakan format 64-bit standar yang mencakup berbagai tanggal dengan presisi 1 detik. Atribut untuk izin POSIX dan ACL Windows didukung. PAX dapat menyimpan aliran data alternatif NTFS dan fork sumber daya. Symlink dan hardlink juga dapat direpresentasikan.

SDK PAX sumber terbuka menyediakan API sederhana untuk membuat, mengekstrak, memperbarui, dan memverifikasi arsip PAX secara terprogram. Ini menangani semua detail tingkat rendah dari format PAX. SDK tersedia dalam berbagai bahasa termasuk C, C++, C#, Java, Python, JavaScript, Go, dan Rust.

Singkatnya, format arsip PAX dibangun di atas fondasi format yang telah terbukti seperti ZIP sambil memperkenalkan fitur dan pengoptimalan modern - kompresi yang efisien, multi-threading, akses acak, keamanan, dan spesifikasi terbuka. Hal ini menjadikan PAX ideal untuk berbagai skenario pengarsipan pada sistem saat ini.

Kompresi file mengurangi redundansi sehingga informasi yang sama membutuhkan lebih sedikit bit. Batas atasnya ditentukan oleh teori informasi: untuk kompresi lossless, batasnya adalah entropi sumber (lihat teorema pengkodean sumber Shannon source coding theorem dan makalah aslinya tahun 1948 “A Mathematical Theory of Communication”). Untuk kompresi lossy, kompromi antara laju bit dan kualitas dijelaskan oleh teori rate–distortion.

Dua pilar: pemodelan dan pengodean

Sebagian besar kompresor memiliki dua tahap. Pertama, sebuah model memprediksi atau mengekspos struktur dalam data. Kedua, sebuah coder mengubah prediksi tersebut menjadi pola bit yang hampir optimal. Keluarga pemodelan klasik adalah Lempel–Ziv LZ77 (1977) dan LZ78 (1978) mendeteksi substring berulang lalu memancarkan referensi alih-alih byte mentah. Di sisi pengodean, pengodean Huffman (lihat makalah aslinya 1952) memberikan kode lebih pendek untuk simbol yang lebih mungkin. Pengodean aritmetika dan range coding lebih halus lagi dan mendekati batas entropi, sementara Asymmetric Numeral Systems (ANS) modern mencapai rasio serupa dengan implementasi berbasis tabel yang cepat.

Apa yang sebenarnya dilakukan format umum

DEFLATE (dipakai oleh gzip, zlib, dan ZIP) menggabungkan LZ77 dengan pengodean Huffman. Spesifikasinya bersifat publik: DEFLATE RFC 1951, pembungkus zlib RFC 1950, dan format file gzip RFC 1952. Gzip dibingkai untuk streaming dan tidak menyediakan akses acak. Gambar PNG menstandarkan DEFLATE sebagai satu-satunya metode kompresi (maksimal jendela 32 KiB) menurut spesifikasi PNG “Compression method 0… deflate/inflate… at most 32768 bytes” dan W3C/ISO PNG 2nd Edition.

Zstandard (zstd): kompresor serbaguna modern yang dirancang untuk rasio tinggi dengan dekompresi sangat cepat. Formatnya didokumentasikan dalam RFC 8878 (serta cermin HTML-nya) dan spesifikasi referensi di GitHub. Seperti gzip, frame dasar tidak menargetkan akses acak. Salah satu keunggulan zstd adalah kamus: sampel kecil dari korpus Anda yang membuat banyak file kecil atau serupa terkompresi jauh lebih baik (lihat dokumentasi kamus python-zstandard dan contoh karya Nigel Tao). Implementasi menerima kamus “unstructured” maupun “structured” (diskusi).

Brotli: dioptimalkan untuk konten web (mis. font WOFF2, HTTP). Ia memadukan kamus statis dengan inti LZ+entropi mirip DEFLATE. Spesifikasinya adalah RFC 7932, yang juga menyebut jendela geser 2WBITS−16 dengan WBITS [10, 24] (1 KiB−16 B hingga 16 MiB−16 B) dan bahwa ia tidak memberikan akses acak. Brotli sering mengalahkan gzip pada teks web sambil tetap cepat saat decoding.

Kontainer ZIP: ZIP adalah arsip file yang dapat menyimpan entri dengan berbagai metode kompresi (deflate, store, zstd, dll.). Standar de facto-nya adalah APPNOTE PKWARE (lihat portal APPNOTE, salinan yang di-host, serta ringkasan LC ZIP File Format (PKWARE) / ZIP 6.3.3).

Kecepatan vs rasio: posisi format

LZ4 menargetkan kecepatan mentah dengan rasio sedang. Lihat halaman proyeknya (“extremely fast compression”) dan format frame. Cocok untuk cache in-memory, telemetri, atau jalur panas yang memerlukan dekompresi hampir secepat RAM.

XZ / LZMA mengejar kerapatan tinggi dengan waktu kompres yang relatif lambat. XZ adalah kontainer; pekerjaan berat biasanya dilakukan LZMA/LZMA2 (pemodelan mirip LZ77 + range coding). Lihat format .xz, spesifikasi LZMA (Pavlov), dan catatan kernel Linux tentang XZ Embedded. XZ biasanya lebih kecil dari gzip dan sering bersaing dengan codec modern yang berorientasi rasio tinggi, walau waktu enkodenya lebih lama.

bzip2 menggunakan Transformasi Burrows–Wheeler (BWT), move-to-front, RLE, dan pengodean Huffman. Biasanya lebih kecil daripada gzip namun lebih lambat; lihat manual resminya dan halaman manual (Linux).

Jendela, blok, dan akses acak

Ukuran “jendela” penting. Referensi DEFLATE hanya bisa melihat ke belakang 32 KiB (RFC 1951) serta batas 32 KiB di PNG yang disebutkan di sini. Brotli memiliki jendela sekitar 1 KiB hingga 16 MiB (RFC 7932). Zstd menyetel jendela dan kedalaman pencarian lewat level (RFC 8878). Stream dasar gzip/zstd/brotli didesain untuk decoding sekuensial; format dasarnya tidak menjanjikan akses acak, meskipun kontainer (mis. indeks tar, framing berchunk, atau indeks khusus format) bisa menambahkannya.

Lossless vs lossy

Format di atas bersifat lossless: Anda bisa merekonstruksi byte yang sama persis. Codec media sering lossy: mereka membuang detail yang tak terlihat untuk mencapai bitrate lebih rendah. Pada gambar, JPEG klasik (DCT, kuantisasi, pengodean entropi) distandardisasi dalam ITU-T T.81 / ISO/IEC 10918-1. Di audio, MP3 (MPEG-1 Layer III) dan AAC (MPEG-2/4) menggunakan model persepsi dan transformasi MDCT (lihat ISO/IEC 11172-3, ISO/IEC 13818-7, dan ringkasan MDCT di sini). Lossy dan lossless dapat berdampingan (mis. PNG untuk aset UI; codec web untuk gambar/video/audio).

Kiatan praktis

  • Pilih sesuai kebutuhan. Teks dan font web brotli. File umum dan cadangan zstd (dekompresi cepat dan level untuk menukar waktu dengan rasio). Jalur super cepat dan telemetri lz4. Kerapatan maksimum untuk arsip jangka panjang ketika waktu enkode masih ok xz/LZMA.
  • File kecil? Latih dan kirim kamus dengan zstd (dokumen) / (contoh). Bisa memangkas puluhan objek kecil yang serupa secara dramatis.
  • Interoperabilitas. Saat bertukar banyak file, pilih kontainer (ZIP, tar) plus kompresor. APPNOTE ZIP menetapkan ID metode dan fitur; lihat PKWARE APPNOTE dan ringkasan LC di sini.
  • Ukur pada data Anda. Rasio dan kecepatan berbeda tiap korpus. Banyak repositori menerbitkan benchmark (mis. README LZ4 menyebut korpus Silesia di sini), tetapi selalu validasi secara lokal.

Referensi utama (pendalaman)

Teori Shannon 1948 · Rate–distortion · Pengodean Huffman 1952 · Pengodean aritmetika · Range coding · ANS. Format DEFLATE · zlib · gzip · Zstandard · Brotli · LZ4 frame · Format XZ. Tumpukan BWT Burrows–Wheeler (1994) · manual bzip2. Media JPEG T.81 · MP3 ISO/IEC 11172-3 · AAC ISO/IEC 13818-7 · MDCT.

Intinya: pilih kompresor yang cocok dengan data dan batasan Anda, ukur pada input nyata, dan jangan lupakan keuntungan dari kamus dan framing yang cerdas. Dengan pasangan yang tepat Anda mendapat file lebih kecil, transfer lebih cepat, dan aplikasi lebih responsif tanpa mengorbankan kebenaran atau portabilitas.

Pertanyaan yang Sering Diajukan

Apa itu kompresi file?

Kompresi file adalah proses yang mengurangi ukuran file atau beberapa file, biasanya untuk menyimpan ruang penyimpanan atau mempercepat transmisi melalui jaringan.

Bagaimana cara kerja kompresi file?

Kompresi file berfungsi dengan mengidentifikasi dan menghilangkan redundansi dalam data. Ia menggunakan algoritma untuk mengkodekan data asli dalam ruang yang lebih kecil.

Apa saja jenis-jenis kompresi file?

Dua jenis utama kompresi file adalah kompresi tanpa kehilangan (lossless) dan kompresi dengan kehilangan (lossy). Kompresi lossless memungkinkan file asli untuk dipulihkan dengan sempurna, sedangkan kompresi lossy memungkinkan pengurangan ukuran yang lebih signifikan dengan biaya beberapa kehilangan kualitas data.

Apa contoh dari alat kompresi file?

Contoh populer dari alat kompresi file adalah WinZip, yang mendukung beberapa format kompresi termasuk ZIP dan RAR.

Apakah kompresi file mempengaruhi kualitas file?

Dengan kompresi tanpa kehilangan, kualitas tetap tidak berubah. Namun, dengan kompresi dengan kehilangan, dapat terjadi penurunan kualitas yang cukup terlihat karena menghilangkan data yang kurang penting untuk mengurangi ukuran file lebih signifikan.

Apakah kompresi file aman?

Ya, kompresi file aman dari segi integritas data, terutama dengan kompresi tanpa kehilangan. Namun, seperti file lainnya, file yang dikompresi bisa menjadi target malware atau virus, jadi selalu penting untuk memiliki perangkat lunak keamanan yang terpercaya.

Jenis file apa saja yang bisa dikompresi?

Hampir semua jenis file dapat dikompresi, termasuk file teks, gambar, audio, video, dan file perangkat lunak. Namun, level kompresi yang dapat dicapai bisa sangat bervariasi di antara jenis file.

Apa yang dimaksud dengan file ZIP?

File ZIP adalah jenis format file yang menggunakan kompresi tanpa kehilangan untuk mengurangi ukuran satu atau lebih file. Beberapa file dalam sebuah file ZIP efektif digabungkan menjadi satu file, yang juga memudahkan berbagi.

Dapatkah saya melakukan kompresi pada file yang sudah dikompresi?

Secara teknis, ya, meskipun pengurangan ukuran tambahan mungkin minimal atau bahkan kontraproduktif. Melakukan kompresi pada file yang sudah dikompresi terkadang bisa meningkatkan ukurannya karena metadata yang ditambahkan oleh algoritma kompresi.

Bagaimana saya dapat melakukan dekompresi file?

Untuk melakukan dekompresi file, biasanya Anda memerlukan alat dekompresi atau unzipping, seperti WinZip atau 7-Zip. Alat-alat ini dapat mengekstrak file asli dari format yang dikompresi.