パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

gzipに複数の脆弱性~LHAにも関連あり?」記事へのコメント

  • Windows(XP?)であれば、標準でzipファイルを展開できること、またlzhはほぼ日本独自なので、意識的にlzhは避けてzipを使うようにしてます。

    zipと比較してlzhを使うメリットってあります?lzhは解凍できるがzipは解凍できない環境ってそうないと思うんですが。慣れ親しんだものだから?圧縮率?圧縮率どうのは把握してませんが。

    # 取引先からはいつもlzh圧縮でくるのでID
    --
    しないさせない!スルー力
    • 結構使ってますね。

      相手の設定が悪いのか、こちらが悪いのかわかりませんが、
      macユーザーとやりとりしてて、相手が日本語が入ったファイルをzip圧縮(stuffitかなんかで?)して、私(windows)側で解凍しようとすると大概文字化けしてることが多い気が。。

      なんで、相手(mac)側でlzh使ってとお願いをすることがよくあります。(今のところ化けたことがない)

      $多分どっか設定見直せばなおるのかもしれませんが
      • マックOSXで作成された.zip ファイルをpythonのinteractive modeを使って調べてみたら、ファイル名がUTF-8で格納されているようでした。

        Windowsで作成された.zipファイルは調べていませんが Shift-JIS なのではないかと思っています。

        どちらかがどちらかにエンコーディングをあわせればいいのでしょうが、そもそもファイル名のエンコーディング規則がzipのヘッダに規定されていないのが負けなのかも。
        親コメント
        • by nojiri (27623) on 2006年09月24日 16時19分 (#1025331)
          Mac OS X 10.3以降は標準でzip圧縮できるようになりましたが、仰るとおり、ファイル名をUTF-8で格納するために、Windowsで解凍すると文字化けします。さらに、Mac OS特有のリソース領域やファイル属性などもアーカイブしているため、解凍時にWindowsには不要なファイルやフォルダが作成されます。

          そんな訳で、Mac上でWindows向けの圧縮ファイルを作る際は、lzhが無難です。→「目的別 圧縮ツール [mac.com]」

          ちなみに、Windowsで作成したzipファイルをMac OS X 10.3.xで解凍するとShift-JISで格納されたファイル名をUTF-8として処理するため、エラーが発生して解凍に失敗します。
          Mac OS X 10.4以降は解凍できるようになりましたが、それでも文字化けしました。
          10.4.6以降で、ようやく文字コードの自動判別機能が備わり、UTF-8かShift-JISかを判断して解凍できるようになりました。

          Windows Vistaのzip圧縮プログラムが仕様変更されて、ファイル名をUTF-8で格納するようになってくれないだろうか。OS間の互換性問題が軽減されるのだが。(アップルには、Shift-JISを使うつもりがないようだ…)
          親コメント
          • > OS間の互換性問題が軽減されるのだが。

            Windows と Mac OS しか OS がないとでもお思いですか?
            # こういう物言いをする奴が全員死ねば少しはいい世の中になるんだろうなあ……
            • よのなかほとんどを占めるOS間で互換性が取れるのであれば、「軽減される」とは言っていいんじゃないか? 「解決される」だとちょっとアレだが。
              # 僕から見ると、君は天に唾する人みたいに見えるね。

              それに技術の筋から言って、Shift-JISにあわせるよりはUTF-8にあわせたほうが筋が良い。もちろん、MIME encodingとかもありだと思うが。
              親コメント
              • XPとVista間で互換性を取るために、VistaでもShift-JISのままにすることにしました。
                世の中ほとんどを占めるOS間で互換性がとれるんだから、これでいいよね。
                # Mac OS X? なにそのマイナーOS?
            • >Windows と Mac OS しか OS がないとでもお思いですか?

              Fedoraも多いよね。
          • 以下は個人的な見解ですが、LHaのような古典的なアーカイバが圧縮時にその環境のOEMコードページを保存しなかったのが、この問題の根本的な原因のように思えます。

            対策としては、Mac OS X環境でWindows環境で圧縮されたファイルを展開する場合は、カレントのロケールを元に決定したOEMコードページをデフォルトにして、場合に応じてOEMコードページをユーザが指定する方法も別途提供するという方法を取るしかないでしょう。

            Mac OS X環境で圧縮する場合に、ファイル名のエンコーディングをShift-JISにしてくれ!というのは日本人であるnojiri氏にとっては当然の要望なんでしょうが、Mac OS Xでは容易に作成可能な各国語混在のファイル名をどうするの?という問題が残りますよね。
            アップルがShift-JISを使うつもりが無いのは当然だと思いますよ。
            • 当時はまさかそんなことが起きると思わなかったんでしょう。UTF-8なんかが出てきたのはLHAが登場するずっと後です。I18Nを考えましょうという風潮が出てくるずっと前に開発されたソフトウェアにそれを求めるのは無理とは言わないが、酷だと思います。

              もちろん、それらの圧縮形式を延命させたいのなら、I18Nを考えた上での仕様も作らなければいけないでしょうが、それを誰がやるかは謎。

              --
              vyama 「バグ取れワンワン」
              親コメント
              • IANA文字セット名やMIMEは時期的に無理だろうけど、OEMコードページ932は1980年代前半には既に存在したはず。
                当時の環境でI18Nを求めるのは酷だろうけど、フォーマットの仕様でL10Nを考慮するのが酷だという意見にはちょっと賛成できないな。
                もちろん、そんな情報を保存する事に意味があるとは思っていなかっただろうし、例え1バイトでも無駄には出来なかったという話なんだろうとは思うけどね。

アレゲは一日にしてならず -- アレゲ見習い

処理中...