• 締切済み

MACバイナリヘッダについて

PC初心者なので、わからないんですが、MACバイナリヘッダとは何ですか?またそれを、ウィンドウズMeで、変換するのは、どうするのですか?

  • Mac
  • 回答数2
  • ありがとう数2

みんなの回答

noname#5751
noname#5751
回答No.2

Windowsではファイルの記録にFATという仕組みを使います。 これは、ディスクの先頭にファイル名とサイズなどの情報を もったデータベースを作っておいて、データ部分を一塊の情 報としてディスクに記録するものです。 ファイルをどのアプリで開くかはファイル名の拡張子で判断 します。 一方MacではHFSというファイルシステムを使います。 HFSでは、ファイルをデータフォークとリソースフォークと いう2つの部分に分離して保存します。データフォークには データ部分、リソースフォークにはプログラム的な部分を保 存します。 具体的には 1.クリエータ情報:どのアプリで開くか(「Excel]等) 2.ファイルタイプ:システムにそのアプリがない場合、どの アプリで開けるかシステムが判断するための手がかりの情報 (「text」等) 3.カスタムアイコン:ファイル固有のアイコン 4.その他埋め込みプログラム がリソース情報です。 ハードディスクにあるときはこれでいいんですが、LANや Small Talkでファイルをやり取りするときは、いったんこれ を1つにまとめないといけません。 そこで、ファイルを受け取ったMacがファイルを元通り復元で きるよう、ファイルの先頭にデータとリソースの境界を記述 した128バイトのヘッダ情報を付加して1つにまとめます。 このファイル形式をマックバイナリ、ヘッダ部分をマックバイ ナリヘッダと呼びます。 このヘッダが邪魔になってWindowsやUNIXではマックバイナリ で送られたファイルを開くことはできません。 そのことから通信の世界ではヘッダ部分のみを邪魔者扱いし て「マックバイナリ」と呼ぶこともあります。 ヘッダをつけない互換性のある形式をマックでは「バイナリ」 または「Low Data」と呼びます。 Macは回り全部がMacばかりの「閉じた世界」で使うには便利 なんですが、通信に参加しようとするとMS-DOSレベルのしっか りした知識を持っていないと、とたんに「厄介もの」扱いされ てしまう危険があります。(笑)

bourei
質問者

お礼

長文どうもありがとうございます。

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

マックはファイルの先頭に128kのファイルの情報を付けています。これが「Macバイナリファイルヘッダ」です。 参考URLのページのソフトで取り除くことが出来ます。

参考URL:
http://www.vector.co.jp/soft/win95/util/se180692.html
bourei
質問者

お礼

ありがとうございました。

関連するQ&A

  • MACバイナリの削除ソフト

    MACバイナリの削除ソフトを使っているのですが、いまいちなので、よいソフトがありましたら紹介をお願いします 求める機能 ・複数のファイルを一度に処理できる(ファイルダイアログで選択) ・無条件削除ではなく、MACバイナリがあるファイルのみ削除 ・削除前をファイルを更新しない ・MACバイナリが複数(階層)ある場合、一気に削除 ・インストールはなし(EXEを起動のみ) 環境  WIN ME、XP よろしくお願いします

  • Macバイナリの除去法

    jpg等の画像をアップロードできるCGIを作成中です。 ほぼ完成したのですが、MACからのアップがうまくいきません。 作成しようとしている仕組みは 1.CGIによるjpg画像のアップ 2.Flashがjpg画像を読み込んで表示 というものです。 MACからアップロードそのものはできるのですが、 Flashがうまく読み込んでくれません。 どうやら、MACバイナリが原因のようなのですが、 PerlでMACバイナリの検出/除去をするには どのようにすればよいのでしょうか。 ライブラリなどご存知ありませんか? 外部から入手したソースを元に $a = フォームから取得したjpgファイル内容 if ($a =~ /application\/x-macbinary/i){ #MACバイナリ検出 my $length = substr($a,83,4); $length = unpack("%N",$length); $a = substr($a,128,$length); #MACバイナリだった場合の除去終了 }else{ #MACバイナリは含まれていない } と記述してみましたが、 MACから入力しても、 MACバイナリファイルは含まれていない と判断してしまうらしいのです。 サイトや書籍の情報等でも結構です。 よろしくお願い申し上げます。

    • ベストアンサー
    • Perl
  • MACヘッダ、IPヘッダ、TCPヘッダの関係は?

    MACヘッダ、IPヘッダ、TCPヘッダそれぞれの必要バイト数は「14。20。20」 ですが、この3つの関係について教えてください;宜しくお願いします;

  • バイナリエディタはどう使うの?

    先日配布するために作成した音声ファイルや画像ファイルを全て.datに書き換えました。 しかし計画性無く全て書き換えてしまったので一体どれがどのファイルか わからなくなってしまいました。 そこでバイナリエディタで開いてみたのですが、よくわかりません。 .wavファイルはバイナリエディタのヘッダを見たらwavと書いてあるのでわかるのですが、 何も書いて無いファイルもあります。 そこでちょっとバイナリについて勉強してみようかと思ったのですが そんなバイナリについて詳しく説明してあるサイトとか本とかありますでしょうか。 ヘッダファイルはこんな構造になっているとか。 よければ本やサイトのオススメを教えてください。 よろしくお願いします。

  • ヘッダーを編集できるMac用メーラーは?

    現在、Mac用のEudora 5.x Jを使っています。仕事でメールのヘッダーを編集する必要が出てきたのですが、どうもEudoraでは無理そうな感じです。OutLookも無理そうな感じで・・・可能なら方法を教えてほしいのですが。 ・・ということで、ヘッダーの編集が可能なMac用メーラーってあるのでしょうか? どなたかご存じでしたら教えてください。m(_ _)m

  • 文字列からバイナリ変換

    C言語で *argv[]にMacAddress00-0F-1F-16-80-F4などを入力し、 それをバイナリに変換して、int8_t mac_add[6]みたいなものに 代入したいと思っているのですが、 方法がわからず苦戦しております。 宜しくお願い致します。 イメージ mac_add[0] = 00←バイナリ以下同じ mac_add[1] = 0F mac_add[2] = 1F mac_add[3] = 16 mac_add[4] = 80 mac_add[5] = F4

  • バイナリって?

    どうも、初めまして。 このごろMacをよく扱っててよく思うささいなことなのですが、印刷(プリント)をする際の「バイナリ」って何の事でしょうか? また、Winではまた設定方法が違うとききましたが・・・。 よろしければ質問に答えていただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • Mac
  • MIMEとバイナリデータの読み方

    バイナリファイルの中、MIME boundary1の後、ヘッダーの部分のXMLで書かれたテキストファイルあります。そのXMLヘッダー文をパースしたい。 バイナリファイルのほかのところにMIME boundary2の後バイナリ形式のデータあります。 Googleで調べたけど、なにかは見つかったけど、理解できず困っています。 バイナリファイルを一バイトづつ読んで、Integer.toHexString()を使うとASCIIの形でXMLの部分はそのまま (フォーマットなしで)、バイナリデータの分は化けた表示されます。 だいたいのアウトラインでよいです。やり方ご存知の方、教えてください。 (1)boundary1の後書かれたXML式データを読む方法 (2)boundary2の後、決まったキーワードが入っていたら、そこから決まったバイト数までのバイナリデータを読む方法 その決まったキーワードと決まったバイト数はヘッダーのXML内に書かれています。

    • ベストアンサー
    • Java
  • バイナリ5バイトを文字10バイトに変換

    バイナリ5バイトを文字10バイトに変換 いつもお世話になっています。 C++初心者です。 12 34 56 78 90(バイナリ5バイト)を 1234567890(文字10バイト)に変換する方法はありますか? バイナリで読み込んだデータがあり、特定箇所に、数字10桁が格納されてます。 下記イメージです。 12 34 56 78 90(バイナリ5バイト) それを文字10バイトで処理するしたいのですが、変換方法がネットで探せませんでした。 お知恵をお貸しください。 環境はVC++6 です。 よろしくお願いします。

  • C# バイナリダンプを構造体に簡単に入れる方法

    C#初心者です。 バイナリファイルをダンプしてイメージヘッダ等を構造体に入れて 各フィールド単位で操作したいのですが、最も簡単な方法はありますか?