資料
Tag: 圧縮 解凍

異機種ファイル交換の問題

文字化け

 圧縮する対象(フォルダ・ファイル)の名前に漢字などを使うと、他の機種で解凍するときに、文字化けを生じることがあります。

ZIPについて:

↓元→先Mac OS 9 StuffIt 7.03Mac OS X
BOMArchive Helper
Windows XP 圧縮フォルダ
Mac OS 9
StuffIt 7.03
文字化け
(UTF-8のママ)
Mac OS X
BOMArchive Helper
*1文字化け
(UTF-8のママ)
Windows XP 圧縮フォルダ文字化け
(UTF-16の数値参照)

StuffIt 7の問題点

 7Jは、旧バージョンのStuffItで圧縮されたファイルが日本語の場合、解凍時に文字化けして解凍していました。7.03Jで修正されています。

StuffIt 9 sitアーカイブをStuffIt 5.5J/StuffIt 7.03Jで処理したときにまれに起こる現象

  • StuffIt 9では、下位バージョンの解凍ソフトで解凍できるように、sit 形式のアーカイブを作ることができるようになっていますが、実際には問題があるアーカイブを生成することがあるので、安心して使うことはできません。
  • StuffIt 9.01J で圧縮された .sit アーカイブを、StuffIt 7.03J で解凍すると、以下のようなエラーメッセージが出る場合があります。

sit9to703err.gif
StuffIt 9.01J .sitアーカイブをStuffIt 7.03Jで解凍した

  • 同じ .sit アーカイブを、StuffIt 5.5J で解凍すると、以下のようなエラーメッセージが出る場合があります。

sit9to55err.gif
StuffIt 9.01J .sitアーカイブをStuffIt 5.5Jで解凍した

  • 解凍は出来て、Photoshop EPS などでは開けることもありますが、データが欠損している場合があります。
  • Photoshop では開けても、RIP では PS エラーが起こる場合があります。
  • 最初から、StuffIt 9.01J で解凍すると、エラーも警告も出ず、解凍されたファイルも問題がありません。

StuffIt 9J/10J/11J/12Jで sit形式アーカイブを解凍すると、時刻が9時間進んでしまう

 StuffIt 9J/10J/11J/12J で、Stuffit sit形式(7.03Jくらいまでの標準形式)を解凍すると、解凍したファイルのファイルスタンプが9時間進んでしまう。
 英語版がリリースされたVer11でも同様の現象を確認(061128)。

 QuarkXPressやInDesignなどの、ファイルスタンプでファイルの変更を感知しているシステムにおいてはワークフローが崩壊してしまう。

(11J/12Jでも進んでしまうことを確認。081026)

検証用ファイル

file20000101T000000+09.txt.sit
上記sitアーカイブは、DropStuff? 5.5で生成したアーカイブで、タイムスタンプを2000年1月1日 0時0分0秒(JST+9)に設定したテキストファイルが入っています。

お手持ちの解凍ソフトで解凍したとき、タイムスタンプが2000年1月1日 9時0分0秒になる場合、その解凍ソフトは旧sitアーカイブに内包されているファイルを9時間時刻を進めて設定してしまう不具合を抱えていることになります。

対策

 ベンダが修正版を出すまで、下記ページのスクリプトを使うことによって、進んでしまった時刻を戻すことが出来ます。

9hoursbefore.app

Mac OS X Finder の「『フォルダ』のアーカイブを作成」の問題点

 Mac OS X Finder の「『フォルダ』のアーカイブを作成」で生成される ZIP圧縮ファイルを、他機種とファイル交換に利用する際の問題点を挙げます。

_MACOSX というファイルやフォルダが生成される

 BOMArchiveHelper 固有のファイル/フォルダ「_MACOSX」を圧縮ファイル内に同梱します。解凍に BOMArchiveHelper を使わないと、不要なファイル/フォルダ「_MACOSX」ができてしまいます。

bah2winexpzip.gif
▲Windows XP 圧縮フォルダにて

bah2mac9.gif
▲Mac OS 9 StuffIt Deluxe で解凍したところ

ANSI文字以外を使うと、異環境で文字化けが起こる

 Mac OS X Finder の「『フォルダ』のアーカイブを作成」で圧縮したファイルやフォルダが、ANSI文字以外であるとき、異環境では文字化けを起こすことがあります。

macosx2byte.gif
▲Mac OS X 10.3 上での圧縮前のフォルダ/ファイル

bah2winexpzip2.gif
▲Windows XP の圧縮フォルダでの表示

 これは、Mac OS X の圧縮プロセスが、ファイル名を UTF-8 で格納しているので、異環境で解凍するとき格納されたファイル名をそのまま利用するようなプログラムであれば、その環境のファイルシステムでは文字化けを起こすファイル名を生成してしまうことにより起こる現象です。

bahsjis.gif
▲「アーカイブを作成」で生成したZIPをSJISで表示

bahutf8.gif
▲「アーカイブを作成」で生成したZIPをUTF-8で表示

 ファイルシステムが UTF-8 環境の GNOME File Manager では、文字化けが起こりません。

gnomeutf8.gif
▲CentOS 4(UTF-8) の GNOME File Manager

Mac OS XのLZH解凍の問題

 旧 Mac OS の LZH 圧縮ファイル生成は、MacLHA が定番でしたが、Mac OS X 環境では、

  • Classic 環境でしか動かない
  • 最近のファイルの大容量化に動作速度の面で対応していない

などの問題があります。

 Mac OS X 用の解凍ソフトでは、MacLHA のリソースフォークが含まれた圧縮ファイルを、リソース付きで解凍できないケースが見られました。

HappyLHA

happylha.gif

 HappyLHA は、MacLHA で生成したリソースフォーク付きの LZH 圧縮ファイルを、リソース付きで解凍できる、Mac OS X 用のフリーソフトウェアです。

http://hp.vector.co.jp/authors/VA027835/

Windowsで文字化けしないzipを作るAppleScript

DTP駆け込み寺の投稿

Mac->Winへの圧縮フォルダの送付

で紹介されていたAppleScriptです。

主にAppleScriptの小物発表: Windowsで文字化けしないzipを作るAppleScript

comvmvというファイル名を文字エンコーディング変換するオープンソースプロダクトを利用して、Windows用のCP932エンコーディングに変換しておくことにより、Windowsで解凍したときの文字化けを防止します。

Windowsで文字化けしないzipを作るアプリケーション

MacWinZipper?

Windowsで解凍したときに「余計なファイルの混入」「ファイル名の文字化け」がないようにMacでzipファイルを作るアプリケーション。Tiger以降対応。




*1 圧縮・解凍時のBOMArchiveHelperのバージョンが違うと文字化けすることがあります

添付ファイル: file20000101T000000+09.txt.sit 372件 [詳細] filesit9to55err.gif 1458件 [詳細] filesit9to703err.gif 1480件 [詳細] filehappylha.gif 1825件 [詳細] filebah2mac9.gif 1520件 [詳細] filebahutf8.gif 278件 [詳細] filebahsjis.gif 1463件 [詳細] filegnomeutf8.gif 1476件 [詳細] filemacosx2byte.gif 1430件 [詳細] filebah2winexpzip2.gif 1495件 [詳細] filebah2winexpzip.gif 1495件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-05-09 (水) 14:03:53 (2047d)