ソフトウェア

Macでzip解凍時に「エラー22 引数が無効です」となる原因

Macでzip解凍時に「エラー22 引数が無効です」となる原因

Mac OSでzipファイルを解凍する際に
エラー22 引数が無効です
というエラーが出て解凍できずに失敗して困ってないだろうか。

実はこのエラーには原因がある。
本記事では「エラー22 引数が無効です」となる原因と対処方法について紹介する。

本記事の対象者

  • Macで圧縮ファイルを扱う人
  • Macを仕事で使う人
  • Macユーザーとファイルをやりとりする人
  • Macをよく使うユーザーには必見の内容だ。


    「エラー22 引数が無効です」の現象

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


    Macでzip解凍時に「エラー22 引数が無効です」となる原因

    Mac OS Catalina

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

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

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


    エラー22の真の原因は文字コード

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

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

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

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

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

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


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

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

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


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

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

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

    7-zip パラメータ cu=on
    7-zip パラメータ cu=on

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


    Macでzip解凍時に「エラー22 引数が無効です」となる原因 まとめ

    Macでzip解凍時に「エラー22 引数が無効です」となる原因と対処法については以下の通り。

    まとめ

  • 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.

    役に立ったらシェアしてくれると励みになります。

    にほんブログ村 IT技術ブログへ

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

    Translate »

    Copyright© ITips , 2020 All Rights Reserved.