Prawie nic nie wiem o kompresji, więc weź ze mną (to prawdopodobnie głupie i boleśnie oczywiste pytanie).Najlepszy algorytm kompresji dla XML?
Powiedzmy, że mam plik XML z kilkoma znacznikami.
<verylongtagnumberone>
<verylongtagnumbertwo>
text
</verylongtagnumbertwo>
</verylongtagnumberone>
Teraz możemy powiedzieć, że mam kilka bardzo długich tagów z wieloma atrybutami w moich wielu plikach XML. Muszę je skompresować do jak najmniejszego rozmiaru. Najlepszym sposobem byłoby użycie algorytmu specyficznego dla XML, który przypisuje indywidualne znaczniki pseudonimów takich jak vlt1 lub vlt2. Jednak nie byłoby to tak "otwarte", jak próbuję iść, i chcę użyć wspólnego algorytmu, takiego jak DEFLATE lub LZ. Pomaga także, jeśli archiwum jest plikiem .zip.
Ponieważ mam do czynienia z czystym tekstem (bez plików binarnych, takich jak obrazy), chciałbym algorytmu, który pasuje do zwykłego tekstu. Który z nich produkuje najmniejszy rozmiar pliku (preferowane są bezstratne algorytmy)?
Nawiasem mówiąc, scenariusz jest następujący: Tworzę standard dla dokumentów, takich jak ODF lub MS Office XML, które zawierają pliki XML, spakowane w formacie .zip.
EDYCJA: "Szyfrowanie" było literówką; powinno to spowodować "kompresję".
Jak to jest związane z szyfrowaniem? Prostą odpowiedzią jest zezwolenie ZIP na kompresję: jest ona powszechnie dostępna, zajmuje przyzwoitą pracę z tekstem i nie jest warta czasu na znalezienie "najmniejszego możliwego rozmiaru". – kdgregory
Dlaczego po prostu nie używać OpenXML? Zasadniczo to, czego chcesz :). Nie jestem pewien, czy to najlepsza kompresja, ale lubię ją do tej pory. A jeśli już tego nie wiesz, OpenXML jest w zasadzie plikiem zip, więc możesz zmienić nazwę dokumentów Office 2007 jako plik .zip (np. Something.docx na something.zip) i otworzyć go jako plik zip. Wewnątrz jest w zasadzie mnóstwo XML-ów. –
Można po prostu użyć wielu plików XML w pliku zip i bez względu na rozszerzenie pliku, które chcesz.Dlaczego bardzo długi okres testowy? –