バイナリファイル Memo

バイナリバイナリとよく聞くが、こんな数字の羅列見てどうしろとよく疑問に思う。
バイナリエディタ → ダンプ・プログラム → コンピュータにおける画像ファイル→1 byte の表現

 

二進化されたファイル、またはその内部表現の形式のこと。
テキストデータ以外のデータファイル。
二進化十進表現:十進法の 1 桁を、0 から 9 までを表す二進法の 4 桁で表したもの。
二進法:1 と 0 だけで数を表現する方法。

 

バイナリエディタを用いると、バイナリファイルを
1 バイトずつの ( 16 進法 ) 数値の並びとして表示・編集を行うことができる。

バイナリフォーマットではエンディアンなどに
互換性・移植性の上で注意が必要であり、それを避けてテキスト形式で
記録することも少なくない。
エンディアン:複数のバイトを並べる順序の種類。

 

バイナリエディタ

バイナリファイルを閲覧・編集するソフトウェア。

ファイルフォーマットを無視し、
一律ファイルの生データを表示・編集することが出来る。

一般的なバイナリエディタは、
ファイル上の絶対的な位置を示す番地情報と、
16 進法でその番地に記載されているバイナリ情報
特定の文字コードで同じ番地を書き記したテキスト情報を
マルチラインで表示する。

 

ダンプ・プログラム

バイナリファイル内容を調べられるプログラムのことを
ダンプ・プログラムという。

ファイルの内容を 1 バイトずつ区切って 16 進数で表示。
バイナリ ( binary ) とは「2進数の」という意味。

 

画像データをバイナリエディタで開くと、
画像データの前に、画像の幅・高さ・1 ピクセルあたりの bit 数、などの
データが付加されている。( ヘッダー情報 )

 

コンピュータにおける画像ファイル

コンピュータは 1 byte ( 8bit ) を一つの単位としてデータを処理する。
つまり 8 桁の 2 進数を基本として処理がなされている。

 

例えば、この 1 バイトで整数を表現するとすれば、0 ~ 255 の値を
表現することができる。( 2 ^ 8 = 256 )

文字情報のみのテキストデータもバイナリで表現されている。
英数字は、ASCII コードによって、1 バイトの値と文字とが対応付けられている。

 

1 byte の表現

1 byte を表現するのに、一般に 16 進数が用いられている。

1 byte ( 8bit ) を 4 bit づつに分割し、2 つの値で表す。
4 bit 0~15 の値を表現できるので,16 × 16 = 256 の表で表現できる。
なお、16 進数は、10~15 をアルファベット A~F で表す。

ex )
ASCII コードにおける K は、
上位バイト 4・下位バイト B に位置し、16 進数で 4B、
10 進数で 75 、2 進数で 1001011 としてコンピュータ上では表現される。

 

漢字の表現

漢字は文字の種類が極めて多いので、1 byte では表現しきれない
そこで、 2byte のコードで漢字を表現しており、
別のコードで漢字の対応表が規定されている。

JIS、Shift-JIS、EUC、 区点等のコードがある。
Windows 系の OS では Shift-JIS コードが、携帯電話などでは区点コード、
UNIX 系の OS では EUC コードが採用されており、適宜コードー変換が必要。
多くの電子メールは、メールソフト自身が漢字コード変換の機能を有しているため、
ローカルの OS に対応した漢字変換が自動的になされる。

 

 

 

-Memo-
stir131 ソフトを落とした。

こちらから。
https://wa3.i-3-i.info/word1147.html
バイナリエディタ - Wikipedia
バイナリ - Wikipedia
二進化十進表現 - Wikipedia
https://kotobank.jp/word/%E4%BA%8C%E9%80%B2%E6%B3%95-109667
https://gabekore.org/look-binary-file
http://izumi-math.jp/sanae/inf_box/dump/dump.htm
http://www.infra.kochi-tech.ac.jp/takagi/Geomatics/7ImageFormat.pdf
http://www.infra.kochi-tech.ac.jp/takagi/Lecture/Geomatics.html
https://www.setsuki.com/hsp/ext/bmp.htm    (bmp 情報)

以上。