SAP CAR¶
The following subsections show a graphical representation of the file format portions and how to generate them.
First we need to perform some setup to import the packet classes:
[1]:
from pysap.SAPCAR import *
from IPython.display import display
SAPCAR Archive version 2.00¶
We first create a temporary file and compress it inside an archive file:
[2]:
with open("some_file", "w") as fd:
fd.write("Some string to compress")
f0 = SAPCARArchive("archive_file.car", mode="wb", version=SAPCAR_VERSION_200)
f0.add_file("some_file")
The file is comprised of the following main structures:
SAPCAR Archive Header¶
[3]:
f0._sapcar.canvas_dump()
[3]:
SAPCAR Entry Header¶
[4]:
f0._sapcar.files0[0].canvas_dump()
[4]:
SAPCAR Data Block¶
[5]:
f0._sapcar.files0[0].blocks[0].canvas_dump()
[5]:
SAPCAR Compressed Data¶
[6]:
f0._sapcar.files0[0].blocks[0].compressed.canvas_dump()
[6]:
SAPCAR Archive version 2.01¶
[7]:
f1 = SAPCARArchive("archive_file.car", mode="wb", version=SAPCAR_VERSION_201)
f1.add_file("some_file")
The file is comprised of the following main structures:
SAPCAR Archive Header¶
[8]:
f1._sapcar.canvas_dump()
[8]:
SAPCAR Entry Header¶
[9]:
f1._sapcar.files1[0].canvas_dump()
[9]:
SAPCAR Data Block¶
[10]:
f1._sapcar.files1[0].blocks[0].canvas_dump()
[10]:
SAPCAR Compressed data¶
[11]:
f1._sapcar.files1[0].blocks[0].compressed.canvas_dump()
[11]:
[12]:
from os import remove
remove("some_file")
remove("archive_file.car")