ソフトウェア

Macで「エラー22 引数が無効です」となる原因

Macで「エラー22 引数が無効です」となる原因

Mac OSでzipファイルを解凍する際に
エラー22 引数が無効です
というエラーになることがある。

「Windowsでは解凍できるのになんでだよ!」
と思うかもしれないが、実は原因がある。

今回はMacで「エラー22 引数が無効です」となる原因について紹介する。


現象

現象としては前述の通り、Mac OSでzipファイルを解凍する際に
エラー22 引数が無効です
というエラーが出て、zipファイルの解凍に失敗する。


原因はMac OSのメジャーアップデート?

Mac OS Catalina

この現象は2019/10/10にMac OSがCatalinaにアップデートした後から発生しているようだ。

Mac のOSをCAtalinaへ昨日アップデートしたら、zipファイルが展開できなくなりました。
アーカイブユーティリティ エラー22 引数が無効
と出ます。今まで出たことなかったです。対処法ありますか?

OSによるものだとするとCatalinaにアップデートしたらオシマイのように思えるが、対処方法は存在する。


真の原因は文字コード

解凍エラーはWindowsで圧縮したzipファイルでのみ発生し、Macで圧縮そたzipの解凍時には起こらない。

つまりWindowsとMacの圧縮時の違いに起因するのだが、異なるOS間で問題となるのはまず文字コードだ。

WindowsのデフォルトはShift-JIS、Macや他のUnix系OSのデフォルトはUTF-8
この違いによってエラーが起こることが多く、今回も文字コードに起因している。

Macの標準機能はzipファイルをUTF-8の設定で解凍しようとするが、中身はShift-JISなのでエラーになってしまっている。

以前書いた文字化けの記事と同じである。

解凍したZIPファイルのファイル名が文字化けする

解凍したZIPファイルのファイル名が文字化けしてしまう インターネットから入手したり、他者から貰ったzipファイルを解凍したらファイル名が文字化けしていた。 このようなトラブルが結構ある。 今回はこの ...

従って対処方法も変わらない。


対処1 適切な解凍ソフトを使う

Mac OS標準の圧縮解凍機能ではなく、適切な解凍ソフトを使って解凍すると文字コードの違いについても配慮されているのでエラーは発生しない。

解凍ソフトには「Zip File Unarchiver」や「The Unarchiver」がある。


対処2 適切な圧縮設定を使う

Windows側で圧縮する際にUTF-8の設定にすることでもエラーを回避できる。

7-Zipで圧縮する際に、「パラメータ」の項目に「cu=on」を設定することでUTF-8で圧縮されるようになる。

UTF-8で圧縮されたzipファイルはMac OSで解凍してもエラーにはならない。


まとめ

  • Mac OSでzipファイルを解凍時のエラー22はWindowsとの文字コードの違いが原因
  • Mac側で解凍ソフトを入れるか、Windows側で圧縮設定を変えるとエラーを回避できる


KRSW

駆け出し機械学習エンジニア。機械学習、DB、WEBと浅く広い感じ。 Junior machine learning engineer. Not a specialist but a generalist who knows DB, WEB too.

役に立ったらシェアしてくれると励みになります。
If you felt this article is useful, please share.
にほんブログ村 IT技術ブログへ

-ソフトウェア
-, , , , , ,

Translate »
Social media & sharing icons powered by UltimatelySocial

Copyright© ITips , 2020 All Rights Reserved.