Ao criar um aplicativo que extrai arquivos ZIP, notei que às vezes os arquivos ZIP contêm explicitamente entradas para os diretórios e às vezes não. Dada por exemplo a seguinte estrutura
folder1/
└── file1
Encontro arquivos que fornecem as seguintes saídas diferentes ao listar o conteúdo por meio de unzip -lv file.zip
:
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
5 Stored 5 0% 2023-04-20 13:54 3bb935c6 folder1/file1
-------- ------- --- -------
5 5 0% 1 file
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
0 Stored 0 0% 2023-04-20 13:54 00000000 folder1/
5 Stored 5 0% 2023-04-20 13:54 3bb935c6 folder1/file1
-------- ------- --- -------
5 5 0% 2 files
Observe a pasta declarada explicitamente no segundo.
Qual é o padrão aqui? Os programas geralmente fazem suposições sobre como isso é tratado? Um dos dois é vantajoso?