Formát archivu XAR

XAR, zkratka pro eXtensible ARchive, je všestranný formát souborů používaný pro archivaci a kompresi souborů. XAR, původně vyvinutý projektem OpenDarwin, je navržen tak, aby byl flexibilní a rozšiřitelný, umožňující zahrnutí různých typů metadat a podporující více kompresních algoritmů. Tento formát je zvláště pozoruhodný pro jeho použití v macOS pro balení softwaru a aktualizace systému.
Archivy XAR ukládají soubory ve strukturovaném formátu, který obsahuje katalog metadat, který poskytuje podrobné informace o každém souboru v archivu. Díky tomu je XAR výkonným nástrojem pro vývojáře a systémové administrátory, kteří vyžadují robustní a adaptabilní řešení archivace. I když není tak všudypřítomný jako formáty jako ZIP nebo TAR, XAR je ceněn pro svou schopnost zpracovávat složité datové struktury a integraci do specifických prostředí, zejména v macOS.

Informace o archivu XAR

Informace o archivu XAR zahrnují metadata a data obsažená v archivu vytvořeném pomocí formátu XAR (eXtensible ARchive). Archivy XAR ukládají řadu metadat, včetně atributů souborů, časových razítek a informací o použitých kompresních algoritmech. Tato metadata hrají klíčovou roli při správné identifikaci a extrahování obsahu archivu.
Kromě základních informací o souborech obsahují archivy XAR často katalog metadat pro každý soubor v archivu s podrobnostmi o cestách k souborům, oprávněních a kontrolních součtech. Tato úroveň detailů zajišťuje, že soubory lze během dekomprese přesně obnovit do původního stavu. Informace o archivu XAR mohou také zahrnovat podrobnosti o použitých kompresních metodách, jako je typ algoritmu a jakékoli specifické použité možnosti, které jsou nezbytné pro zachování integrity a přesnosti archivovaných dat.

Evoluce XAR

Formát archivu XAR pochází z projektu OpenDarwin, iniciativy s otevřeným zdrojovým kódem k vytvoření operačního systému kompatibilního s Darwinem. XAR, navržený jako všestranný a rozšiřitelný archivní formát, se snažil překonat omezení existujících archivních formátů začleněním bohatých metadat a podporou různých kompresních algoritmů.
V průběhu let zaznamenal formát XAR vylepšení zaměřená na zvýšení výkonu, zabezpečení a kompatibility. Zde je stručný přehled jeho vývoje:

  • 2004: Formát eXtensible ARchive (XAR) byl vyvinut společností Apple Inc. pro použití v systému Mac OS X. Byl navržen tak, aby poskytoval flexibilnější a rozšiřitelnější alternativu k existujícím archivním formátům, jako jsou ZIP a TAR, zejména pro balení aktualizací softwaru a systému. komponenty.
  • 2005: XAR se stal klíčovou součástí Apple Mac OS X formát instalačního balíčku (.pkg), který umožňoval efektivní distribuci a instalaci softwaru na Mac systémy. Díky schopnosti formátu zpracovávat složité struktury souborů a metadata byl pro tento účel ideální.
  • 2007: XAR byl open-source, což umožnilo vývojářům mimo Apple využívat a upravovat formát pro své vlastní účely. Tento krok rozšířil potenciální aplikace XAR za hranice pouze macOS, i když jeho použití zůstalo převážně v ekosystému Apple.
    1. léta 20. století: Navzdory původnímu slibu nezískal XAR široké přijetí mimo macOS. Nadále se však používal v rámci procesů vývoje softwaru společnosti Apple, zejména pro balení systémů a aplikací.
  • 2020: XAR zůstává specializovaným formátem primárně spojeným s obalovými a instalačními systémy společnosti Apple. I když není tak široce používán jako jiné formáty, je stále uznáván pro svou flexibilitu a schopnost zahrnout do archivů bohatá metadata.

Struktura archivu XAR

  • Header: Obsahuje základní metadata o archivu, jako je verze formátu a informace o velikosti.
  • Obsah (TOC): Index založený na XML se seznamem souborů, jejich velikostí, kompresních metod a dalších podrobností.
  • Data: Skutečný obsah komprimovaného nebo nekomprimovaného souboru.
  • Zápatí: Volitelná část pro další informace nebo kontrolní součty.

Formát XAR (eXtensible ARchive) je navržen pro flexibilitu a efektivitu při ukládání a kompresi souborů. Skládá se z několika klíčových součástí:

Výhody tohoto formátu

Formát XAR nabízí několik výhod oproti tradičním archivním formátům:

  • Flexibilita: XAR podporuje různé kompresní algoritmy, které uživatelům umožňují vybrat si pro svá data optimální metodu.
  • Rozšiřitelnost: Formát lze rozšířit o vlastní metadata poskytující další informace o archivu a jeho obsahu.
  • Efektivita: Struktura XAR je optimalizována pro efektivní ukládání a načítání souborů.
  • ** Bohatost metadat:** Zahrnutí podrobných metadat souborů umožňuje lepší organizaci a správu archivovaných dat.
  • Self-Contained Packaging: XAR lze použít k vytvoření samostatných balíčků, což zjednodušuje distribuci a instalaci softwaru. Výkon: XAR často nabízí lepší výkon ve srovnání s jinými archivními formáty, zejména při práci s velkými soubory.

Operace podporované archivem XAR

  1. Extrakce:
    • Extrahování celého obsahu archivu na určené místo.
    • Extrahování konkrétních souborů nebo adresářů z archivu.
    • Zachování původní struktury souboru a metadat během extrakce.
  2. Složení:
    • Vytváření nových XAR archivů.
    • Přidávání souborů a adresářů do existujících archivů XAR.
    • Specifikace kompresních metod pro jednotlivé soubory v archivu.
    • Včetně vlastních metadat v rámci archivu pro lepší organizaci.

Aspose.ZIP umožňuje uživateli extrahovat buď konkrétní položku nebo celý archiv. Archivy XAR podporují řadu operací, které uživatelům umožňují efektivně spravovat archivovaná data a přistupovat k nim. Tyto operace lze obecně rozdělit do:

Archivní struktura XAR

Formát XAR (eXtensible ARchive) je navržen s ohledem na flexibilitu a rozšiřitelnost, takže se dobře hodí pro složité úlohy balení souborů. Zde je přehled typické struktury archivu XAR:

Archivní struktura XAR

Vnitřní struktura archivu

  • Záhlaví: Záhlaví obsahuje základní metadata o samotném archivu, jako například:
    • Magické číslo: Identifikuje soubor jako archiv XAR.
    • Číslo verze: Určuje verzi formátu XAR.
    • Velikost obsahu (TOC): Udává délku sekce TOC.
    • Velikost haldy: Definuje velikost oblasti úložiště dat.
  • Obsah (TOC): TOC je struktura založená na XML, která katalogizuje soubory v archivu. Obsahuje podrobné informace o každém souboru, včetně:
    • Cesta k souboru: Původní cesta k souboru v archivu.
    • Velikost souboru: Nekomprimovaná velikost souboru.
    • Metoda komprese: Algoritmus komprese použitý pro soubor (např. gzip , bzip2 ).
    • Kontrolní součet: Hodnota hash pro ověření integrity dat.
    • Atributy souboru: Oprávnění, časy úprav a další metadata souboru.
  • Hromada: Halda je oblast úložiště dat, kde je uložen obsah komprimovaného nebo nekomprimovaného souboru. TOC poskytuje posuny a délky k vyhledání konkrétních souborů v haldě.

Příklady použití XAR

S Aspose.Zip můžete bez námahy extrahovat jednotlivé soubory nebo celé adresářové struktury z archivů XAR. Tato flexibilita vám umožňuje přistupovat ke konkrétním datům v archivu, aniž by byla ohrožena jeho integrita. Knihovna navíc poskytuje možnosti pro zachování atributů souborů, jako jsou oprávnění a časová razítka, během procesu extrakce. Aspose.Zip také usnadňuje vytváření archivů XAR. Máte svobodu vybrat konkrétní soubory nebo celé složky, které chcete zahrnout do archivu. Kromě toho knihovna podporuje různé kompresní algoritmy, což vám umožňuje optimalizovat velikosti souborů a vyvažovat kompresní poměry s požadavky na výkon. Zde je několik příkladů manipulace s archivy XAR:

Create XAR archive with two entries compressed with Zlib method via C#.

    FileInfo fi1 = new FileInfo("alice29.txt");
    FileInfo fi2 = new FileInfo("asyoulik.txt");

    using (var archive = new XarArchive(new XarZlibCompressionSettings()))
    {
        archive.CreateEntry("alice29.txt", fi1, false);
        archive.CreateEntry("fields.c", fi2, false);
        archive.Save(xarFile);
    }

Extract Whole XAR Arcive via C#.

    using (XarArchive xarArchive = new XarArchive("data.xar"))
    {
        xarArchive.ExtractToDirectory("data");
    }

Create XAR archive with two entries compressed with Zlib method via Java

    java.io.File fi1 = new java.io.File("alice29.txt");
    java.io.File fi2 = new java.io.File("asyoulik.txt");
    String xarFile = "output.xar";

    try (XarArchive archive = new XarArchive(new XarZlibCompressionSettings())) {
        archive.createEntry("alice29.txt", fi1, false);
        archive.createEntry("fields.c", fi2, false);
        archive.save(xarFile);
    }

Extract Whole XAR Arcive using Java.

    try (XarArchive archive = new XarArchive("data.xar")) {
        archive.extractToDirectory("data");
    }

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

Další informace o eXtensible ARchive

Lidé se ptali

1. Co je archiv XAR a k čemu se používá?

XAR (eXtensible ARchive) je formát souborů používaný pro archivaci a kompresi souborů. Primárně byl vyvinut pro použití v ekosystému macOS. Archivy XAR mohou ukládat více souborů a adresářů do jednoho souboru, často s kompresí pro úsporu místa. Používají se pro distribuci softwaru, aktualizace systému a obecné balení souborů.

2. Je XAR široce používaný formát archivu?

Ve srovnání se ZIP a RAR se XAR používá méně často. Jeho primární zaměření na ekosystém macOS omezuje jeho širší přijetí. Jeho účinnost a funkce z něj však činí cennou možnost pro konkrétní případy použití v daném prostředí.

3. Mohu otevřít archiv XAR ve Windows?

I když mohou existovat nástroje nebo knihovny, které mohou pracovat s archivy XAR ve Windows, tento formát není interně podporován. Můžete narazit na problémy s kompatibilitou nebo omezení. V tomto OS je lepší používat API třetích stran, které se specializují na práci s archivy XAR.