macOS 10.15 Catalina では zipにファイル名が2バイト文字で含まれていると(エラー22 – 引数が無効)と表示され展開することができない

〔エラーメッセージ〕
アーカイブユーティリティ
“●●●●●.zip”を”●●●●●”に展開できません。
(エラー22 – 引数が無効です。)

みなさま、こんにちは。

macOS Catalina 10.15でzipファイルをダブルクリックすると〔エラー22 – 引数が無効です。〕というエラーが出てzipファイルが展開できない現象が確認されておりますが、検証(というか検索)をしましたところ原因が判明いたしました。

〔原因〕
(1)macOS 10.15 catalina では
(2)ASCII文字以外のファイル名がひとつでも含まれているzipファイルを
(3)macOS標準のアーカイブユーティリティで展開しようとすると
(4)(エラー22 – 引数が無効です。)というエラーが出てzipファイルが展開できない仕様になった

ためのようです。

※ASCII文字とは、半角英数字、記号、制御記号(空白等)等のASCIIコードで表現される文字で、ひらがなや漢字などの日本語(2バイト文字)は含まれない。

以前のmacOSのアーカイブユーティリティの仕様では、(ASCII文字ファイルはもちろん)日本語は文字化けしてでも展開されましたが、macOS 10.15 catalina 環境では日本語(ASCII文字以外の)ファイル名が含まれているzipファイルは(エラー22 – 引数が無効です。)というエラーが出てまったく展開されなくなってしまいました。

ASCII文字以外の文字が含まれていると展開されないということは、日本語だけでなく2バイトの文字が使用されていても同様のエラーが出て展開されません。

ですので、zipファイル内にASCII文字以外のファイル名が含まれている場合にはmacOS10.15のアーカイブユーティリティではなく、サードパーティー製のアーカイバを使用すれば展開することができます。

しかし、アナウンスなくいきなり以前の仕様が変更されればユーザが戸惑うのは仕方ありません。

現時点での対応といたしましては

(1)zipファイル作成時にASCII文字以外のファイル名を含めない
(2)zipファイル作成時にファイル名のエンコードをUnicodeにする
(3)zipファイル作成時にmacOSを使用する
(4)展開時にサードパーティー製のアーカイバを使用する

となります。

一番手っ取り早いのは

(3)zipファイル作成時にmacOSを使用する

なのですが、以前に検証したかぎりでは作成した環境ですら展開できたり、できなかったりしたので、macOS環境でのzipファイル作成をしなかった経緯があります。

この件につきましては引き続き検証していきます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください