[[資料]] &tag(stuffit,圧縮,解凍,ヘッダ); *StuffItファイルのヘッダ一覧 [#x574f1cb] StuffIt 圧縮ファイルをテキストエディタなどで開いたときの表示をまとめます。 **このページの編集にご協力いただける方にお願い [#tdb964d4] StuffIt データのヘッダ部には、''圧縮したファイル名・フォルダ名がそのまま入ることがある''ので、スクリーンショットをアップロードする前に、それらが残っていないことを確認してください。 アップロードしたスクリーンショットのヘッダにて意図しない情報が漏れてしまった場合、設置者は残念ながら対応できません。 **StuffIt ファイルのヘッダとは? [#vf3509f8] 圧縮に使った StuffIt(DropStuff)のバージョンによって、生成される StuffItアーカイブ(.sit 拡張子)が変わります。 StuffIt は、上位バージョンで圧縮した sit ファイルを、下位バージョンで解凍すると、ファイルが欠損することがあるので、場合によっては、ヘッダを見て確認することが必要です。 ヘッダ部は、おおむねテキスト形式になっているので、テキストエディタなどで開くことによって、ファイルが どのバージョンの StuffIt で圧縮されたかを確認できます。 **ヘッダ例 [#y272a426] ***StuffIt 9.01JのDropStuff [#uf3ce578] &attachref(stuffit9sit.gif); -StuffIt(c)1997-2002 Aladdin Systems, Inc., http://www.aladdinsys.com/StuffIt/ ((現在 404 not found)) となっている。 -ファイル名・フォルダ名が UTF-8 エンコーディング(Normalization Form D)になっている。 ***StuffIt 8 [#h465a28d] &attachref(); &attachref(dfdfffffffffffffffffff.txt); ***StuffIt 7.03J [#fa22faff] Mac OS 9 版 StuffIt 日本語版の最終版になります。このバージョンの StuffIt はバグが多く、7.03J の時点でも、自己解凍形式が自己解凍に失敗してファイルが文字化けしたりします。 &attachref(stuffit7sit.gif); ***StuffIt 6.5.1J [#mfbc5016] &attachref(stuffit6sit.gif); -StuffIt (c)1997-2001 Aladdin Systems, Inc., http://www.aladdinsys.com/StuffIt/ ((現在 404 not found)) となっている。 ***StuffIt 5.5J [#mfbc5016] &attachref(stuffit5sit.gif); -StuffIt (c)1997-1998 Aladdin Systems, Inc., http://www.aladdinsys.com/StuffIt/ ((現在 404 not found)) となっている。 -ファイル名・フォルダ名が UTF-8 エンコーディング(Normalization Form C)になっている。 **StuffItバージョン違いによるエラー例 [#ge26dd38] http://dtpwiki.jp/?%A5%D5%A5%A1%A5%A4%A5%EB%B0%B5%BD%CC%A1%BF%B2%F2%C5%E0#wd8faf9b に移動しました。 **StuffIt圧縮ファイルサンプル [#n8a38336] stuffItで圧縮したファイルのサンプルです。 :&attachref(dropstuff55(macos9).sit);|DropStuff 5.5(Mac OS 9バンドル)で、2000年1月1日の「名称未設定フォルダ」を圧縮したモノです。 **ヘッダ判別スクリプト [#r96c0269] #!/usr/local/bin/perl -w use strict; use File::Basename; my %SitStr =( 'sit 5.5' => '^StuffIt \(c\)1997-1998 Aladdin Systems, Inc., http://www.aladdinsys.com/StuffIt/', 'sit 9.0' => '^StuffIt \(c\)1997-2002 Aladdin Systems, Inc., http://www.aladdinsys.com/StuffIt/', ); foreach my $argv (@ARGV) { my $fullpath = $argv; ( my $filename, my $dir ) = fileparse( $fullpath ); open( IN, $fullpath ) || die "can't open $fullpath \n"; binmode(IN); read IN, my $header, 256; close(IN); for my $key (keys %SitStr){ if ($header =~ m|$SitStr{$key}|){ print "$filename : version = $key\n"; } } }