PBM (Portable Bit Map)

 PBMはPortable Bit Mapの略称です。PBMには「アスキー形式」と「バイナリー形式」の2種類があります。データがアスキー形式化バイナリー形式化を区別する場合はヘッダーの先頭2バイト(マジックナンバー)で判別します。横幅と縦幅のヘッダー情報はバイナリーではなく文字列となっています。ヘッダーの先頭の文字が#(シャープ)の場合、改行コード($0A)まで「コメント」とみなされます。
 画像データ本体がアスキー形式の場合、数値はセパレーター($13, $09, $20)で区切られます。

 画像のデータはビットマップとなっており1バイトのデータの上位ビットが左側、下位ビットが右側に対応します。1バイトのデータは8ビットですので1バイトで8個の点を表すことができます。

アスキー形式
ヘッダー
2バイトP1
1バイト 改行コード
不定横幅を示すアスキー文字列
不定セパレーター
不定縦幅を示すアスキー文字列
1バイト 改行コード
データ
不定ビットデータを表す数値(アスキー文字列)
不定セパレーター
不定ビットデータを表す数値(アスキー文字列)
不定セパレーター
不定



バイナリ形式
ヘッダー
2バイトP4
1バイト改行コード
不定横幅を示すアスキー文字列
不定 セパレーター
不定縦幅を示すアスキー文字列
1バイト 改行コード
データ
1バイトビットデータを表す数値(バイナリ)
1バイト