Mac で LZH ファイルを作る

MacでLHA

Mac で作成した zip ファイルを Windows で展開すると、ファイル名が激しく文字化けする、という話があった。

🔗 【Mac】 Windows で文字化けしない zip ファイルを作る | 林檎コンピュータ

この件について考えていて、ふと lha を使えばいいのではないか、と思い当たった。
 lha は、文字コードを指定して凍結(圧縮)できるのである。
 しかし、いろいろ調べてわかったのだが、この方法はあまりお薦めできない。

DropLHa と DropUnLHa

Mac で lha ファイルを扱う場合、ただちに思い浮かぶのが DropLHa という有能アプリだ。

🔗 ソフトウェア | hiroto sakai’s site

ファイルやフォルダをドロップするだけで lzh ファイルに凍結してくれる。
 解凍する場合は DropUnLHa を使う。ちなみに lzh ファイルは KekaThe Unarchiver でも解凍できる。

アイコンも可愛くて大好きなのだが、DropLHa は惜しいことに文字コードを指定することは出来ない。
 なので Windows に圧縮ファイルを送るなら、別の手段を使うしかない。

lha コマンド

UNIX の lha コマンドが、Homebrew でインストールできる。

 brew install lha

凍結する場合は、

lha a LZHファイル名.lzh 固めたい書類やフォルダ

解凍するなら、

lha e LZHファイル名.lzh

というふうに使う。
 lha はディレクトリの構成をそのまま再現してしまうので、例えばデスクトップにあるフォルダを凍結したいなら、ターミナルにフォルダをドロップするのではなく、cd でデスクトップに移動して指定したほうがいいと思う。
 文字コードの指定は、help によると以下のようになっている。

--archive-kanji-code={euc,sjis,utf8,cap}

さっそく試してみる。

cd ~/Desktop
lha a --archive-kanji-code=sjis test.lzh 日本語フォルダ
lzhのファイル

できた。
 これを Windows に持ってゆき 7-ZIP で解凍してみる。

解凍されたフォルダ

いい感じである。
 フォルダの中身も問題なさそう。

フォルダの中身

_MACOSX などのいらないフォルダもない。
 テキストファイル「日本語ファイル.txt」は Mac で作成した UTF-8、LF のままである。

lzh は使用中止が呼びかけられている

Windows ユーザなら、どうせみんな lhaca とか入れてるだろうし、lha は案外いいんじゃないかな、と思ったのだが、そうでもないようだ。
 Wikipedia によると lzh 形式は使用しないよう呼びかけられているらしい。

🔗 LHA – Wikipedia

アンチウィルスソフトがウィルスを検疫できない、という理由のようだ。
 誠に残念である。日本語環境ならまだ活躍できる形式と思えたのだが。

まぁ、突然 lzh ファイルを先方に送るってのも、なんかちょっと気が引けるしな。もう lha を知らないひとも多いだろうし。という寂しい結論しか得られず申し訳ない。