ビットマップファイルをテキストファイルで見る方法

 

 

こんにちは。ナガオカ(@boot_kt)です。

 

お遊び記事です。

bmpをテキストエディタで表示してみよう!

という内容です。

別にこれを知っているからと言って何の役にも立ちません。

 

この記事のザックリした内容
◆対象読者

  • コンピューターが好きで、なおかつ無駄なモノが好きって人

 

◆解決できるかも知れないお悩み

  • ごめんなさい、何も無いです!
  • bmpファイルならテキストエディタでも見られるの、ヘー、ソーヨカッタネー(ハナホジホジホジー)って感じになります

 

この記事は勉強にならないですよ♪
普通、この手の記事だとbmpのファイル構造とか説明するんですけど、この記事ではそんな難しいこと書きません
僕もよく知らないしwwww

bmpファイルの構造なんて知らなくてもいいじゃん!
bmpという画像ファイルなのに、それがテキストエディタで見られるだけ面白くないっすか!?

ですので、bmpのファイル構造を勉強しようと思っている方はここで離脱されることをオススメします!

Macでのbmpについて
基本的にはMacでbmpファイルを開くことができません
しかし、この記事ではbmpファイルをダブルクリックで開くようなことはしていません

この記事ではbmpファイルのバイナリを見ているだけですので、bmpファイルさえあればMacでも同じように見ることができるはずです

 

 

 

 

bmpってテキストエディタで見られるんだよ!

この記事の後半で少~~~~~~~~~~しだけ解説しますけど、小難しいことは置いて、まずは見てください

 

先に言っておきますが、bmpのファイル構造に興味のない人は全く面白くないと思います

まぁ、お遊びレベルなので、お気楽にどうぞ!


このようなbmpファイルを準備しました

サイズは 50 x 50 ピクセルです。
拡大しているので荒いです

一応ダウンロードできるように↓ココに置いておきますが、ご自分で作ったbmpファイルを使って、この記事で書いてる手順を進めるとより楽しいと思いますよ
ダウンロードはコチラをクリック >> sample_bmp

このbmpファイルをバイナリエディタで見てみましょう

 

バイナリエディタって何? とおっしゃる方は↓コチラの記事を参照してください

 

バイナリエディタで開くとこんな感じです
これをテキストエディタにコピろうと思います

全て選択

コピー

テキストエディタに貼り付け

最初に現れるFFのところで改行
※最初に現れるFFは背景色が白色なのでFFなのです

空白は邪魔なので、置換機能で空白を取り除きます

 

【閲覧注意】bmpの構造
ちなみに、最初のFFが現れるまでのこの部分は意味があります
ほんの少しだけ解説しますが、興味ない方、混乱しそうな方は読み飛ばしてください

—————————
42 4D E6 1D 00 00 00 00 00 00 36 00 00 00 28 00
00 00 32 00 00 00 32 00 00 00 01 00 18 00 00 00
00 00 B0 1D 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00
—————————

ファイルヘッダ (Bitmap File Header)

byte数 内容 データ内容
2byte ファイルタイプ 42 4D
4byte ファイルサイズ E6 1D 00 00
2byte 予備領域1 00 00
2byte 予備領域2 00 00
4byte 画像データのサイズ 36 00 00 00

 

情報ヘッダ (Bitmap Information Header)

byte数 内容 データ内容
4byte ヘッダサイズ 28 00 00 00
4byte 幅サイズ 32 00 00 00
※16進数の知識があれば、これで50ピクセルと読み取れます
4byte 高さサイズ 32 00 00 00
※16進数の知識があれば、これで50ピクセルと読み取れます
2byte プレーン数 01 00
2byte 色のビット数 18 00
※16進数の知識があれば、これで24ビットと読み取れます
4byte 圧縮形式 00 00 00 00
4byte 画像データサイズ B0 1D 00 00
4byte 水平解像度 00 00 00 00
4byte 垂直解像度 00 00 00 00
4byte 使用色数 00 00 00 00
4byte 重要色数 00 00 00 00

 

さぁ、やってみよう!

♪分っかるかな?♪
♪分っかるかな?♪

♪はてはてふむーはてふむー♪

♪分っかーーるっーかーなぁーーー♪

♪分かるかな?♪

bmpというのは色の三原色が使われています
色の三原色とは赤緑青です
コンピューターの世界では、RGBと言われることが多いです

 

どーでもいい話
僕が色の三原色を知ったのは、コブラという漫画です
なんか刺青が三原色で書かれていたというような内容でした
読んだ当時は小学生だったはずですが、未だに覚えています

 

1つのピクセルに対して赤緑青の情報が必要なわけです

  • 赤でFF(←みたいな感じで2文字で表す)
  • 緑でFF(←みたいな感じで2文字で表す)
  • 青でFF(←みたいな感じで2文字で表す)

つまり、bmpをバイナリエディタで見た場合、1ピクセルをFF FF FF という感じで6文字で表します(空白は無視してください)

ってことは・・・
今回使用するbmpは幅50ピクセルですので、、、、

50ピクセル x 6文字 = 300文字という計算になります

ってことで、300文字ずつ改行します

※実際には00 00が行終端に入っているので、300+4文字での改行となります

テキストエディタを最大化します

テキストエディタのズームを小さくする
※よくあるのは、Ctrlキー押しながら+マウスホイール回転

 

どうでしょうか?

遠目で見たら、bmpと同じ形に見えますよ?
(上下反対になっているのは気にしないでね)

 

テキストでbmpが見えるからってどうなの?

まぁ、ぶっちゃけて言うと・・・、いや、ぶっちゃけなくても・・・

画像データ部分のみとりだした所でメリットはないです(笑)

bmpファイルの中身はこうなってんのねーーーふーんヨカッタネ、って感じですかね

 

bmpの上の方はただのヘッダ情報です。
画像データの中身だけあれば、ヘッダ情報さえあれば本来は画像ソフトで開けるはずです

 

というよう豆知識になります!

 

 

でも、こんなしょーもない知識でも、僕は仕事でこの知識が役立ったことありますよ~
ヘッダが付与されてないbmpファイルがあって、それを見るのにこんな感じで見ましたよ~

この豆知識が役に立つか立たないかは、あなた次第です!

 

 

広告




 

さいごに、

バイナリファイルについての第二弾として書きました

bmpファイルがテキストエディタで見ようと思えば見られるってのが面白いと僕は思っています

是非お手持ちのbmpファイルで確認してみてください

 

次の記事はコチラ
  • bmpファイル以外のバイナリファイルの中身について書いています
  • と言っても、難しいことは本当に全く何も書いていません(て言うか解説してませんしwww)
  • 眺めてもらうことを目的に書いていますので、是非ご覧ください

>> [Win/Mac]バイナリファイルの中身をそ~っと覗いて見てごらん数字の羅列で目が泳ぐ

 


 

プログラミング のレッスンに興味がある方、レッスン内容を聞いてみたい方、なんなりとお問い合わせください。
無料体験レッスンもありますのでお気軽にどうぞ!!!

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

Windows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。