goo blog サービス終了のお知らせ 

日々適当

hibitekitou

CatalinaにてZipファイルの伸張で失敗することがある

mac |2020-01-29

<追記>こちらの記事の症状はmacOS 10.15.4の登場で解消されています。</追記>

macOS Catalinaで特定のエンコーディングを含んだzipファイルが、アーカイブユーティリティで解凍できない問題は「macOS 10.15.3 Catalina」でも修正されていないので注意を。 [AAPL Ch.]

この問題、僕も割とくらってます。個人的にはWindowsで圧縮された日本語名ファイルが含まれたzipファイルを警戒して、Finderからダブルクリックではなく右クリックでOS標準外ソフトから展開することが多かったから、手順としては以前からと変化はしていないのだけど、それでも困ったものです。

失敗するファイルが一つ届いたので調べてみました。zipファイルの情報を見るには unzip -Z コマンドとか zipinfo コマンドを使います。引数としてファイルパスを渡すわけですが、その結果、問題のファイルは

Zip file size: 724908 bytes, number of entries: 2
-rw-------  2.3 unx   281704 BX defN 20-Jan-27 13:54 日本語部分XXXXXXXXXX_200127 日本語部分.pdf
-rw-------  2.3 unx   459610 BX defN 20-Jan-27 13:54 XXXXXXXXXX_200127_OP.pdf
2 files, 741314 bytes uncompressed, 724496 bytes compressed:  2.3%

と表示されました。1行目は省略しています。また「日本語部分」ってなっているのは文字化け表示されていますけど、コンプラ的に念のためそのように表記しています。"XXXXXXXXXX"も数字の羅列ですが念のため。

このzipファイルを The Unarchiver を使って展開すると正しいファイル名を持ったファイルが出来上がりますので、それをWindowsの7-zip、Windows OS標準、macOS標準の三つで圧縮したファイルを確認してみました。

7-zip

Zip file size: 725028 bytes, number of entries: 2
-rw----     6.3 fat   459610 bx defN 20-Jan-27 13:54 XXXXXXXXXX_200127_OP.pdf
-rw----     6.3 fat   281704 bx defN 20-Jan-27 13:54 日本語部分XXXXXXXXXX_200127 日本語部分.pdf
2 files, 741314 bytes uncompressed, 724668 bytes compressed:  2.2%


Windows標準

Zip file size: 724645 bytes, number of entries: 2
-rw----     2.0 fat   281704 b- defN 20-Jan-27 13:54 日本語部分XXXXXXXXXX_200127 日本語部分.pdf
-rw----     2.0 fat   459610 b- defN 20-Jan-27 13:54 XXXXXXXXXX_200127_OP.pdf
2 files, 741314 bytes uncompressed, 724357 bytes compressed:  2.3%


macOS標準

Zip file size: 725435 bytes, number of entries: 4
-rw-------  2.0 unx   281704 bX defN 20-Jan-27 13:54 日本語部分XXXXXXXXXX_200127 日本語部分.pdf
-rw-------  2.0 unx      187 bX defN 20-Jan-27 13:54 __MACOSX/._日本語部分XXXXXXXXXX_200127 日本語部分.pdf
-rw-------  2.0 unx   459610 bX defN 20-Jan-27 13:54 XXXXXXXXXX_200127_OP.pdf
-rw-------  2.0 unx      187 bX defN 20-Jan-27 13:54 __MACOSX/._XXXXXXXXXX_200127_OP.pdf
4 files, 741688 bytes uncompressed, 724497 bytes compressed:  2.3%

macOS標準で潰したもの以外は「エラー22 - 引数が無効です。」って警告が出て展開できませんでした。問題のファイルは日本語ファイル名が含まれているものだと思うのだけど、Windows側で圧縮する時、ファイル名にスペースが含まれていることが問題化?とか思ったりしましてスペースのないファイル名にしてみたりとといくつか試しましたが、最終的に日本語がファイル名に含まれていなければmacOS側で展開できました。

ちなに表示される情報のうち -rw------- で始まる行は、パーミション ZIPコマンドのバージョン 圧縮時の環境 圧縮前のファイルサイズ ファイル形式 圧縮方法 ってな具合に情報が羅列されています。(参考:Linuxコマンド:ZIPファイルの中身を確認する(zipinfo) [4thsight.xyz])

先のApple Ch.の記事のタイトルにある特定のエンーディングにこのzipファイル内の日本語名の文字コードも含まれているのでしょう。Mojaveまでは文字化けした状態で展開されていたファイルも、Catalinaでは先のApple Ch.の記事によればライブラリが変更されたことで、文字コードの間違いを無視できなくなったってことでしょうか?
まぁ日本語ファイルだけが悪いってことなら記事中でそう指摘するでしょうからそれだけじゃないのでしょう。たまたま僕が今回調べたものはそれが悪そうだってことなだけで。
いずれにしろ困ったものですね。

コメント ( 0 )|Trackback ( )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。