kuroの覚え書き

96の個人的覚え書き

Macでzip圧縮してパスワードを掛ける(嘘情報に注意)

これ、毎回やり方を忘れて検索して騙される。
Finderで”xxxを圧縮”を選んでzipファイルを作成し、ターミナルを開いて、できたzipに対して

$ zipcloak xxx.zip

とやれ、パスワードを聞いてくるから2回入力してね。

という説明がいっぱいされているが、実際これをやってもパスワードで開こうとすると無限ループにハマる。

正しい方法は、
まず圧縮したいファイルなりフォルダxxxのある階層XXXに移動し、

$ cd XXX
$ zip -e -r xxx.zip xxx

このあとパスワードを2回入力。これ。

なんで嘘情報が溢れているんだろう。

ちなみに圧縮したいファイルの階層に移動してからやらないと、階層フォルダごと圧縮されて自分のMacのフォルダ階層構造といういらん情報を共有することになるので要注意。

オマケの追記
Macでzip圧縮したファイルをWindowsで開くとファイル名が文字化けする。
これは仕様です。

回避する方法としてはOSXにもとから入っているzipを使わないようにするしかないのね。

$ brew install zip
$ echo 'export PATH="/usr/local/opt/zip/bin:$PATH"' >> /Users/kuro/.bash_profile
$ source .bash_profile

brewで入れた。
で、

$ zip -e -r -UN=UTF8 xxx.zip xxx

これでいいはず。

と思ったけど、Winユーザに送ったらやっぱり文字化けてるという返事。うーん。

原因判明。
WindowsはShift-JISでファイル名を理解しているがMacUTF-8。なのでUTF−8でエンコードしたファイルをWindowsに送ると文字化けする。
Windows側でUTF-8対応のアンアーカイバーを使うか、Mac側でShift-JISに変換できるソフトを導入するしかない。