macOS Catalinaで特定のエンコーディングを含んだzipファイルが、アーカイブユーティリティで解凍できない問題は「macOS 10.15.3 Catalina」でも修正されていないので引き続き注意してください。詳細は以下から。
Appleは現地時間2020年01月28日、macOS Catalinaの3度目のアップデートとなる「macOS Catalina 10.15.3 Build 19D76」をリリースしましたが、同バージョンでもmacOS Catalinaリリース当初から確認[.0, .1, .2]されている、特定のzipファイルがmacOSデフォルトのアーカイブユーティリティで解凍できない不具合が引き続き存在します。
この問題は日本語のShift JISや簡体字中国語のGB 2312エンコーディングされたファイルやそれを含むフォルダをWindows環境で圧縮すると「エラー22 – 引数が無効です。」というエラーが出て解凍できないというもので、macOS 10.15.3ではアーカイブユーティリティのバージョン自体もmacOS 10.15.2に同梱されているバージョン10.15 (128.2.1)からアップデートされていないため、
エラー22 – 引数が無効です。(error 22: invalid argument)
問題に遭われている方は引き続きunzipコマンドやエンコードセレクターが利用可能なKeka、The Unarchiver、StuffIt Expanderなどのサードパーティ製・圧縮解凍アプリを利用してみてください。
おまけ
この件に関してAppleの方と少し話す機会がありましたが、AppleはmacOS Catalinaのアーカイブユーティリティで「7z (7-zip)」の解凍をサポートしており、zipアーカイブの解凍をこの7zライブラリへ移行したようで、7zは以前からいくつかのzipファイルを開けない問題が確認されているため、この問題の原因もそこにあるのではないかという話でしたが、
なぜ7-ZipではいくつかのZIP圧縮ファイルを開けないのですか?
そのような問題の99%は、そのアーカイブのヘッダーが間違っているためです。ほかのZIPプログラムは、間違ったヘッダーでもエラーを出力するだけで開いています。もしそのようなアーカイブであったら、7-Zipの開発者に問い合わせないでください。その代りに、その間違ったヘッダーのアーカイブを作ったプログラムを特定し、その作者にZIPと互換がないことを教えてあげてください。
一方で、たとえばWAVPack (WinZip)のような、7-Zipでサポートしていない方法でエンコードされたZIPアーカイブもあります。圧縮・解凍ソフト 7-ZipのFAQより – 7-Zip
その場合はこの問題が根本的に解決されるまでかなり時間がかかる、またはAppleは関知しないと思われるので、各企業や大学でmacOSをお使いの方はWindowos PCとファイルをやり取りする際に注意してください。
- 圧縮・解凍ソフト 7-Zip – 7-Zip
- zipファイルをunzipコマンドで展開する方法(macOS) – ヒラギノホットライン
- 【注意喚起】MacOS「Catalina」での圧縮ファイル利用について – 青山学院大学 情報メディアセンター
コメント
フォーラム情報を添えてサポートに報告しましたが無視放置されています。
Appleのソフトウェアサポートの劣化具合には目を覆いたくなりますね。ハードウェアサポートはしっかりしてるんですが。
この問題はmacOSのFeedback Assistantに登録しないと永遠に解決できないと思います。
連中はFeedback Assistantに登録された問題だけを解決しています。
Tim Cook「それでも年1回のメジャーアップデートはやめへんで!」
↑は?
>Windows環境で圧縮すると
>そのアーカイブのヘッダーが間違っているためです。
.ZIP アーカイブを作成したツール側の問題、かつ macOS が「壊れた」ZIP を受け付けない。って事でしょ?
macOS が直す必要はない。
で「どの」Windows が壊れた .ZIP を作るのかな?
Windows 10 あたりだとちゃんと UTF8 セレクタ入れてくれるはずなんだけど
古い Windows が、無作法な .ZIP を作るのは結構有名な話で、故にサードパーティー アーカイバーは、力業(エンコードの推測とか)で解決しているんだけど、macOS が、古い無作法なフォーマットに合わせる義務はないでしょう。
いや、そうとも言えないっぽい。
unzip -Zや zipinfoコマンドで見るとセレクタが入っていても日本語(SJIS)エンコードを含むzipファイルでエラーが出るので、多分macOS側の問題。
ttps://qiita.com/yugo-yamamoto/items/a5f1f0a4c0d3f97b8aab
7z落として試してみたけど、アーカイブユーティリティが仲間外れ。
7zでzip圧縮 → Windows標準で展開 OK
7zでzip圧縮 → macOS標準で展開 NG
Windows標準でzip圧縮 → macOS標準で展開 NG
Windows標準でzip圧縮 → 7zで展開 OK
ダメだこりゃ。
他のバグは、しばらく放置なのかな。iOS含めて。
せめて、最新機種でも1つ前のOSが動けば何とか待てるのにね。
これだから二バイト言語は
1.WindowsでSJISのzipを作る。
2.macOSへ送って1.のzipをzipする。
3.Windowsへ送り返す。
4.誰も解答できないzipの出来上がり!(´口`)
実際にあった怖い話です。
Catalinaでどうやっても解凍できなかったパスワード付Zipファイル。iCloudデスクトップ経由でiOSの「ファイル」Appで開いたら、問題なくそのままデスクトップに解凍できたのでiPhoneはUnZipperとして優秀ですが、ユーザビリティの一貫性がないのはAppleらしくないですね。