MacでWindowsのPCとzipファイルをやり取りするために
この記事は、LYNCS Advent Calendar 2018 2日目の記事です(本当)。瓢簞から駒が出るってやつですかね。本当に始まりましたよAdvent Calendar。
今回は、Macでzipファイルを扱う時のことについてちょっと書きたいと思います。Macユーザーには絶対に知っておいてもらいたいことなので、是非読んでもらえると嬉しいですね。
はじめに
まず、先に言いたいことを言ってしまいます。
Macで作成したzipファイルは、Windowsでは高確率で文字化けして読めなくなります。
「高確率」というのは、「運が良ければ文字化けしない!」というわけではなく、「普通に使ってたら多分文字化けしちゃうだろうな」という意味合いです。ちゃんと理由と対処がわかっていれば問題ありません。
実際に、Windowsを使っている友人に「このファイル中身が文字化けしとるんやけど」と相談され、確認してみたらMacで圧縮したzipファイルだった、ということが何度かありました。
今回は、Macでzipファイルを作成する時の注意とか諸々について紹介していきます。
そのままzipを作るとどうなっちゃうの?
では、どんな風に文字化けするのか、試しにやってみましょう。
今回は、テスト用に以下のようなファイルを用意しました。
フォルダに様々な種類のファイルが保存されているのがわかるかと思います。猫の画像、三田祭で使ったTシャツのデザイン案、三田祭用CM動画、高校の頃のレポート、なぜか録音した水の音、高校のレポートで使った表、の合計6つです。フォルダ名は「圧縮テスト」としています。
では、この「圧縮テスト」を、Macで圧縮してみましょう。右クリックのメニュー(Macbook proなので二本指押しと言う方がわかりやすいかも)から圧縮します。
これでzipファイルができました。
このzipファイルをWindows8.1に移動させ、右クリックメニューから展開してみます。
展開したファイルを確認すると……
はい。完全に文字化けしちゃってます。
名前が変わるだけならまだ良いのですが、いくつかのファイルは拡張子までおかしくなっているのがわかるかと思います。そう、Wordのファイル「.docx」とExcelのファイル「.xlsx」がおかしくなっているのです。拡張子がおかしくなってしまっては、中身を確認できません。
なんでこうなっちゃうの?
このような文字化けが起きてしまう理由は、ずばり「文字エンコードの違い」です。
PC上では「あ」という文字を「あ」という文字として認識してはいません。その文字に対応する数列で認識しています。「あ」なら「3041」みたいな感じです(そこは1と0で示せよとかは言わないでください……)。
さて、この時「どの文字をどの数字で表すか」という決まりがなければ、この方法はうまくいかないというのはすぐにわかるかと思います。
例えば、A君が「俺はこの「あ」の文字に5番って番号を付ける!」と言って、B君が「俺は12番にする!」となった時、
A君とB君で数字を交換しても、それをお互いに「あ」という文字だとは認識できないでしょう。
ここで話し合って決めた数字と文字の対応が「文字エンコード」です。
言ってしまえば、MacのPCとWindowsのPCでは「この文字はこの番号にしようぜ」という決まりが違っているわけです。なので、このように名前がおかしくなり、場合によってはファイルを確認できなくなってしまいます。
(細かいところをかなり省いた説明なので、詳しく知りたい方はもっと丁寧な他のサイトを見てみると良いかと思われます)
ちなみに、Windowsで作成したzipファイルは、Macで展開しても基本的には文字化けしません。*1
どうすればいいの?(Mac編)
では、どうすればWindowsで開いても文字化けしないzipファイルをMacで用意できるでしょうか。いくつかの例を以下に示します。
その1:日本語を使わない
実は、MacとWindowsでの圧縮において、文字エンコードが違うのは基本的に日本語の部分のみです。なので、ファイル名が英数字だけならば文字化けしません。
以下のようなファイルで試してみましょう。
先ほどの「圧縮テスト」のファイル名を全て英数字に変えただけです。「圧縮テスト」というフォルダの名前も英数字に変えます。
これを同様にして展開すると……
ちゃんと、文字化けせずに展開できました。拡張子もおかしくなっていません。
その2:フリーのツールを使う
インターネット上で探せば、いくつかMac用の圧縮ツールが公開されているのが見つかるかと思います。それらを使えば、ファイル名に日本語が含まれていても、Windowsで文字化けしないzipファイルをMacで作成できます。MacWinZipperなどが有名でしょうか。
あ、別に有料のツールでもいいですよ。お金を払うほどのことでもないと思いますが。
その3:Google driveを利用する
次に、Google driveを利用した方法を紹介します。超遠回りで「そこまでするなら圧縮なんかしない」という感じの方法ですが、Google driveをバックアップに利用している人には向いているかと思われます。
まず、Google drive上にこのようにファイルを作成します。
まあ、中身もファイル名もさっきと同じですね。このファイル「圧縮テスト」を、Google driveからダウンロードします。すると
このようにファイルの圧縮が開始されます。そう、driveからファイルをダウンロードする際は、一度driveでzipファイルが作成され、それをダウンロードした後、展開して保存しているわけなのです。なので、ダウンロード完了後にMacのゴミ箱を確認すると
このようなzipファイルが保存されています。Macのフォルダ「ダウンロード」には、これを展開したものが保存されているはずです。このzipファイルを移動し、一応名前を変えてから、Windowsに持ってきて展開すると……
このように、文字化けすることはありませんでした。
フリーのツールを使うのは怖いけど日本語ファイル名のまま圧縮して送信したいという方や、普段からGoogle driveをバックアップに利用している方などは、この方法を使ってみては如何でしょうか?
その4:Windowsを使う
次に紹介するのは、そのままWindowsで圧縮するという大胆な方法です。
理由は簡単。Macを使うから文字化けするのであって、Windowsに送るならWindowsで圧縮すればいいのです! 解決!
……とまあ、「それができれば苦労しねえよ」という方法なのですが、一番ベストではあります。仮想環境とかでMacのPCにWindowsを入れている人は、圧縮の際にはWindowsを利用してみましょう。まあ、それだけできる人ならここに書いてあることぐらい理解していると思いますが……
どうすればいいの?(Windows編)
以上が「Windowsで文字化けしないzipファイルをMacで作成する方法」だったわけですが、では「Macでしかうまく開けないzipファイルを送り付けられてしまったWindowsユーザー」はどうすればいいのでしょうか? こちらについても、以下にいくつか例を示してみます。
その1:友人を頼る
Macを使っている友人がいるなら、その友人に頼み込んでみましょう。USBメモリとかでデータを渡して展開してもらい、展開済みデータをまたUSBメモリに入れてもらえばOKです。
その2:フリーのツールを使う
友人にMacを持っている人がいない、そもそも友人がいないという人は、フリーのツールを使って展開しましょう。
ファイル展開用のツールはいくつもありますが、一番有名なのは7-Zipでしょう。さっきのファイルも、7-Zipを用いて展開すれば、文字化けすることなく開くことができます。
7-Zipは、他にも色々なファイルの展開などに使用できる便利なツールなので、入れて損はないと思います。
まとめ
- Macでファイルを圧縮してzipファイルを作成する時は、ファイル名は半角英数字だけにしましょう
- どうしても日本語をファイル名に使いたいなら、専用のツールを使う、Google driveを利用するなどしてzipファイルを作成しましょう
- 文字化けするzipファイルを送り付けられちゃった時は、Macを持ってる人を頼るか、専用のツールを使って解決しましょう
おわりに
Macで使われているMacOSはWindowsとは様々な違いがあります。Windowsユーザーと一緒に作業をする時は、違いを理解した上で、相手に迷惑をかけないように努力しましょう。
追記
画像間違えたので修正しました。