• ベストアンサー

バイナリって

よくバイナリファイルとかバイナリという言葉を聞きますがどういう意味なのでしょうか?またバイナリエディタで何ができるのでしょうか?教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

私流に言えば、バイナリとは文字コード以外を捉える見方である。 (1)コンピュターの扱うデータの発達から見ると、早いうちに、ワードマシンからバイトマシンになり、データは数字-->英字まで広がり、日本ではカナまで広がりました。 この時期までは、コンピュタメモリ内や外部記憶装置内は、文字コード(英数カナ)・機械語指令・アドレス・2進数・パック数・制御コード(改行コード等)・ビットコードなどでした。測定データでアナログ->ディジタルに変換したデータなども在ったかと思います。 メモリが少なく、識別データはビットデータへ向かい勝ちでした。 先端的な大学・研究所などを除き、一般には バイナリデータと意識するのは、文字コード以外を確認する必要の在る プログラマのデバッグのダンプリスト(16進表示)などでした。 (2)そのうちにパソコンが普及し、文字コードも漢字コードが増え、ビットフォントなどにも文字コードで表せないものが、広がりました。 識別サインデータはバイトデータ(文字コード)へ向かい勝ちでした。 (3)ウインドウズ時代になり、マルチメヂアと言うことで、画像、音声、 動画などを扱えるようになりました。これらは文字コードで捉えるべきものではありません。  そのほかにデータ量が飛躍的に増え、データを圧縮することが行われます。圧縮データは文字コードは無関係であるわけです。 (4)文字コードで表現しても意味のないバイナリデータは、表現方法と して、0と1の羅列で表すか、16進数(0-9、A-Fの2つの組み合わせで 1バイトを表す)で表すかがありますが、文字数が少なくて済む16進表現が普通は取られます。 (5)(4)で行わず、画像なら画像そのものにディスプレイに再現したり、プリンタで印刷したり、音ならスピーカから音を出すことも勿論行われます。 (6)文字コードはバイト区切りが意味を持っているのですが、それ以外は バイトの域を越えて連連とデータが続くので、扱うソフトはそれなりの読み書き をするよう対応するのです。そのことを捉えて、バイナリデータを扱うと 言うことになります。

その他の回答 (4)

  • f14
  • ベストアンサー率50% (6/12)
回答No.4

おお少しの間に沢山の書き込みが!! ついでということで。 細かいことはもっと難しいのですが、簡単に書くと プログラムや画像、サウンドデータなどがバイナリーファイルと言えます。 これに対してASCIIファイルがありますが、これは文字コードで書かれていてメモ帳などで開けるファイルです。 例えば "1" "2" "3" のファイルをバイナリーファイルで作ると 00000001 00000010 00000011 ASCIIファイルだと 00110001 00110010 00110011 になります。 いずれも2進数で00110001は"1"の文字コードです。 バイナリエディタはファイルの内容を16進数表示し内容を書き換えるものですが、 プログラムを作らないならあまり役に立たない代物だと思います。

jones0901
質問者

補足

説明ありがとうございます。私は2年間携帯コンテンツをつくるプログラムを専門に製作しているのですが、未だ バイナリファイルを扱ったことなく将来不安です もしよければどういうときに使うのか具体的に教えていただけないでしょうか?

  • misoka
  • ベストアンサー率35% (56/160)
回答No.3

■バイナリとは何か? バイナリ(binary)とは、「2進数の」という意味です。 バイナリファイルは、バイナリデータでできたファイル、 つまり2進数でデータが書かれているファイルです。 と言って、すぐにピンと来てもらえるなら、 初心者というわけではないですね。 要するに、テキストではないデータなんですが... バイナリデータに対するものに、テキストデータというのが あります。テキストデータは、文字でデータが書かれています。 文字で書かれているので、人間がふつうに読むことができます。 つまり、人間にとって、わかりやすいデータになっています。 Windowsでいう「メモ帳」などのエディタソフトで ふつうに閲覧・編集することができます。 バイナリデータは、2進数のデータなので、 2進数のデータ、つまり0と1が羅列されている(ように見える) データです。0と1の羅列なので、人がふつうに読むことは できません。 「メモ帳」で開くと、へんてこな記号がいっぱいならんで 出てきてしまいます。 「メモ帳」で開いて、保存してしまうと基本的に壊れます。 テキストデータが、人にわかりやすいデータなのに対し、 バイナリデータは、コンピュータにとってわかりやすいデータ といえます。コンピュータは、通常2進数でデータを処理する からです。 というわけで、基本的には、コンピュータ向けのデータは バイナリファイルとして残し、 人間向けのデータは、テキストファイルとして残す ということになります。 ■バイナリエディタとは何か? バイナリファイルの内容を閲覧・編集するためのソフトです。 バイナリファイルなんて、一般の人は見ても分からないわけ ですが、プログラム的なことが分かっている人には、 バイナリエディタでバイナリファイルの中身を見る必要が でてくるのです。 単純な話、自分のつくったプログラムで、バイナリファイルを 作る処理をした場合、そのファイルが、正しくできているのか 確認するために、バイナリエディタで中身を閲覧する、という 方法をとる場合があります。 編集するケースは、あまりないかもしれません。 人によると思いますが。 バイナリファイルがすこし壊れているらしいという場合に、 ちょこっと書き直してみるという程度でしょうか(個人的には)。 その場合、そのバイナリファイルの仕組みをしっていないと いけないんですけれどね。 という感じですが、いかがでしょうか?

jones0901
質問者

補足

説明ありがとうございます。私は2年間携帯コンテンツをつくるプログラムを専門に製作しているのですが、未だ バイナリファイルを扱ったことなく将来不安です もしよければどういうときに使うのか具体的に教えていただけないでしょうか?

  • ShaneOMac
  • ベストアンサー率39% (356/898)
回答No.2

バイナリとはデータそのものを生で扱う形式です。テキストと対になるものと考えればいいでしょう。 例えばMS-DOSではディスク上のテキストデータの行末は、0D-0Aの2バイトで表現されています。しかし開発言語上での扱いは改行コード1バイトです。また1Aというデータがテキスト中にある場合は、そこがファイルエンドと見なされますが、バイナリとしての扱いでは、それは単なる1Aという1バイトのデータに過ぎません。 テキスト形式でファイルアクセスをするということは、そうした差異を調整するサービスを実行するということです。 逆に見れば、そうした調整を抜きにしたものがバイナリ形式です。単純な例では、処理系によってテキストの改行コードは異なりますが、バイナリ形式で見れば、そのファイルにどう記述されているか見えます。 バイナリエディタでいうところのバイナリというのは、上記のバイナリ形式-テキスト形式というのとはちょっと違った一般的な意味でのバイナリです。テキストとして読もうとしても意味をなさないがデータとして意味を持っているものです。例えば"127"と書けば、テキストで3バイト消費した文字列ですが、数値としての127は16進数で"7F"という1バイトのデータとしておさまります。逆に文字列"127"は16進数でバイナリを見ると"31-32-37"となります。 バイナリエディタでは異なる処理系で作られたテキストファイルの改行コードを編集したり、数値データを直接いじったりするときに使います。

jones0901
質問者

補足

説明ありがとうございます。私は2年間携帯コンテンツをつくるプログラムを専門に製作しているのですが、未だ バイナリファイルを扱ったことなく将来不安です もしよければどういうプログラムを作成するときに使うのか具体的に教えていただけないでしょうか?

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

バイナリとは「2進数」のことです。 http://yougo.ascii24.com/gh/08/000812.html コンピュータは2進数を扱いますので、コンピュータで扱うままのデータという ことになります。(実際は、4ビットずつまとめて16進数で表すことが多いですが) バイナリに対比される言葉にテキストという言葉があります。 これは、文字をあらわすデータが決まっており(文字コード)、例えば、 数字の'0'は、バイナリでは30H(16進表現で30という意味)です。 ですから、内部データをそのまま表したのがバイナリで、対応する文字で 表したのがテキストということになります。 バイナリエディタは、バイナリ(普通は16進)のデータをそのまま見たり 編集できるようになっているものです。これを使うことにより、内部の表現形式を 確認したり分析したり、またその値を変更したりできます。 2進数、16進数のことがわからないと難しいと思います。 とりあえずこちらを参考にしてください。 http://www.soi.wide.ad.jp/class/97001/slides/02/08.html http://ash.jp/ash/src/codetbl/

関連するQ&A

専門家に質問してみよう