wbin
Unicodeも表示するファイルの16進ダンププログラム。
自身を開いた画面です。
プログラムのリソース文字列などはUnicodeのリトルエンディアンで保存されているようです。
目次
ファイルの16進ダンプを表示するだけのプログラムです。
mp3やwmaファイルのタグ解析用に作り始めたものなので16進ダンプの横にShift-JISの他にUnicodeの表示も行う点が特徴です。
対応するのはUTF-16のリトルエンディアンとビッグエンディアン、UTF-8です。
バイナリエディタではないのでファイルの編集や書き換えはできません。
移動や検索の機能もありますが簡易なもので現状あまり実用的ではありません。
動作環境
Windows XP SP3とWindows7 SP1でのみ動作確認。
2000やVistaでも多分大丈夫だと思います。
95や98、meでは動きません。
インストール
インストールは任意のフォルダにwbin.exeをコピーするだけでOKです。
アンインストール
wbin.exeを削除するだけでOKです。
レジストリには何も書き込みませんし設定ファイルも作りません。
wbin
wbin.exe 2013-12-16:Ver 1.3.3.20
ファイルは圧縮していません。
ダウンロードしてそのまま実行できます。
ソースコード
ソースコードは公開しているというよりもバックアップ目的です。
なので見通しは悪いですしこれらとは別に共通ライブラリも全部ダウンロードしてセットアップしないとコンパイルできません。

- ADDRESS欄はファイルの先頭からの距離(バイト数)を16進値で表示します。
オプションで10進値表示にすることもできます。
- 16進ダンプ欄は1行に16バイトのバイナリデータを1バイトごとに区切って16進値で表示します。
8バイトごとにハイフンで区切りを入れています。
- 16進ダンプの右にはバイナリデータに対応するShift-JISとUnicode(UTF-16)のリトルエンディアンとビッグエンディアンそしてUTF-8に変換した文字列を表示します。
制御記号や範囲外などで表示できないものは「.」(半角ピリオド)に置き換えて表示しています。
本当なら色を変えるなどした方が良いのですが難しいので今のところ区別はつけていません。
- 選択行は黒のアンダーラインで示します。
更に16進ダンプ欄とShift-JIS欄では選択データ(バイト単位)に青のアンダーラインを引きます。
画面下のステータス欄にこの選択データの情報を表示します。
- Address は選択データのファイルの先頭からの距離を16進値と10進値で表示します。
- Byte は選択データの位置の1バイトのデータを16進値と10進値で表示します。
- Word は選択データの位置から2バイトのデータを16進値と10進値で表示します。
- Dword は選択データの位置から4バイトのデータを16進値と10進値で表示します。
- Synchsafe はID3タグで使われるやり方で4バイトのデータをビッグエンディアンの並びとして16進値と10進値で表示します。
WordとDwordのバイトの格納順はリトルエンディアンであるとみなして表示します。
上図でいうとWordは選択データ「30」からの2バイト「30 D7」を「D7 30」とバイトの並びを逆にして表示します。
Dwordなら選択データ「30」からの4バイトのデータ「30 D7 30 02」を「02 30
D7 30」として表示します。
- 移動はファイルの先頭からの位置と現在位置から下へと現在位置から上への三通りの移動の仕方があります。
- 検索はエディットボックスに入力された文字列をShift-JISのデータとして検索します。
UTF-16やUTF-8のデータとして検索することは現状できません。
バイナリデータの検索も現状できません。
- ファイル
- 開く
ダンプするファイルをダイアログから選択します。
ダンプするファイルは表示するデータの分だけをその都度読み込んで表示処理した後は閉じています。
- 閉じる
現在表示している内容をクリアします。
- 他のプログラムから開く
ダンプしているファイルを他のプログラムに渡して開きます。
- 実行
ダンプしているファイルを実行します。
実行ファイルをダンプしていれば実行ファイルが立ち上がります。
データファイルをダンプしていれば関連付けされたプログラム立ち上がります。
- 終了
- 検索
- アドレス移動
- 指定値へ移動
アドレス入力欄の値の位置に移動します。
- 下へ移動
現在位置からアドレス入力欄の値の分下へ移動します。
- 上へ移動
現在位置からアドレス入力欄の値の分上へ移動します。
- 入力ボード
マウスでの入力がしやすいように入力ボードを表示します。
- 下方検索
検索エディットボックスの値を現在位置から下へ向かって検索します。
- 上方検索
検索エディットボックスの値を現在位置から上へ向かって検索します。
- オプション
- アドレスを16進値で表示
ADDRESS欄の表示を16進値で表示します。
チェックがオフの場合は10進値で表示します。
- 値一覧
カーソル位置の値の一覧表を表示します。
- ヘルプ
- 2013-12-16:Ver 1.3.3.20
- アドレス移動のエディット欄の数値入力がおかしくなっていた不具合を修正。
2013-09-26:Ver 1.3.2.20
- 巨大なファイルを読み込むと範囲外エラーが起きる不具合を修正。
2011-08-29:Ver 1.3.1.14
- 検索の「選択データ以外を検索」を非表示に。
2011-05-20:Ver 1.3.0.14で未対応になったにもかかわらずそのままにしていた不手際。
- フォームのActionに余計なActionが適用されたことがありそれがそのまま残っていたために余計なHintが表示されていた不具合を修正。
2011-05-20:Ver 1.3.0.14
- 1バイトのバイナリ検索からShift-JISの文字列の検索に変更。
バイナリ検索は今後の課題。
- 検索をバッファつきストリーム利用に変更した。
若干スピードアップ。
- 検索の経過を表示するようにした。
- 検索の中止ボタンを実装。
- カラムのマーカーの表示がずれる不具合を修正。
わけも分からず試行錯誤した結果いらん処理を行っていたため。
- 値一覧表示機能実装。
整数値のみ。
- ステータス欄の値の表示にSynchsafeを追加。
マイナーバージョンアップ。
2011-05-10:Ver 1.2.1.14
- TScreenのMonitorプロパティがモニター情報の変更に追随しない不具合を回避。
2011-04-02:Ver 1.2.0.14
- 移動に現在位置から下へあるいは上への移動機能を実装。
合わせて入力ボードの表示オプション追加。
- 検索機能追加。
1バイトのデータのみの簡易な検索のみ。
- ショートカットキーをいくつか設定。
- バージョン情報に簡易なショートカットキーの説明を記載。
マイナーバージョンアップ。
簡易なものではあれ検索機能がついたので。
2011-03-29:Ver 1.1.2.14
- ツールバーのアイコンを若干変更。
プログラムへ送るのアイコンを変更。
- 「アドレスを10進値で表示」メニューを「アドレスを16進値で表示」に変更。
チェックの有り無しでツールボタンのアイコンを変えていたのを取りやめ。
紛らわしいので。
2011-03-13:Ver 1.1.1.14
- アドレス移動機能実装。
絶対値の指定のみ。
- ツールバー実装。
- 「他のプログラムから開く」機能を実装。
2011-03-02:Ver 1.1.0.10
- スクロールバー操作時のもたつきを改善。
普通に使える速度になったのではないかなと。
- 16進ダンプとShift-JIS欄のみの対応となるけれども選択データとそれに対応するShift-JISの文字を青のアンダーラインで強調表示するようにした。
- 選択データの先頭からのオフセット位置とその位置からのByte Word DWordのデータを16進値と10進値で表示するようにした。
マイナーバージョンアップ。
2011-02-28:Ver 1.0.0.8
- 開始バイトと読み込みバイト数を指定して読み込む方法から普通にスクロールバーでスクロールして表示できるように変更。
ファイル全体をメモリに読み込むのではなく表示する分だけをその都度読み込むようにしているのでビデオファイルなどの巨大ファイルでも難なく読み込める。
メジャーバージョンアップ。
2011-02-17:Ver 0.1.2.4
- ファイルの読み込みができなかった場合のエラーに対処。
2011-01-21:Ver 0.1.1.4
2010-12-09:Ver 0.1.0.4
- ツールバーをボタンやラジオボタンの代わりにフォームの下に配置。
- プログレスバーで進行状況を表示するように変更。
- 16進ダンプの左の数値を行数からダンプの開始バイトに変更。
- ファイルのバイト数を「64557321Byte(61.5MB)」のような表示の仕方に変更。
- ポップアップメニュー実装。
- バージョン情報表示を実装。
- 開始位置と読み込みバイト数のスピンの増減を1バイトから16バイトに変更。
- 「前へ」と「次へ」の移動方向を「頭から」と「末尾から」で同じにした。
ツールバーの矢印の方向と同じな方が分かりやすかろうということで。
マイナーバージョン上げ。
2010-11-29:Ver 0.0.13.4
- 読み込むバイト数を指定した後にその指定通りに読み込むことができなかった不自由な仕様を「□」ボタンをつけることで解消。
今までは開くでファイルを指定しなおすか「<」と「>」を押した後に反対のボタンを押すかしないとならなかった。
2010-11-20:Ver 0.0.12.4
- UTF-8の表示が正しくできなくなっていた不具合を修正。
0.0.11.4で処理を効率化しようとしてミスっていた。
- UTF-16の1バイトずらしの表示をとりやめ。
シンプルに。
- 選択行の表示をアンダーラインから標準に変更。
2010-11-16:Ver 0.0.11.4
- 他のアプリで開いたままで多分Closeしていないファイルを読み込もうとすると範囲外エラーが起きていた不具合を修正。
2009-08-07:Ver 0.0.10.4
- 「全部読み込み」を対応していなかったので削除。
- フォームのスタイルをツールバースタイルから標準のものへ変更。
- 乱暴な扱いをするとUTF-16の表示が乱れていた不具合を修正。
- 選択行の表示を標準からアンダーラインに変更。
ただし乱暴な扱いをするとアンダーラインが乱れることもあり。
2009-02-05:Ver 0.0.9.1
- 開始バイトと読み込みバイトのエディットを右寄せにした。
2009-01-24:Ver 0.0.8.1
- タイトルバーにバージョンを表示。
- 読み込んだ行数と読み込む行数をタイトルバーから下方のボタン類のあるパネルに移動。
- 上下のパネルとラベルをつかんで移動できるように変更。
2009-01-14:Ver 0.0.7.1
- コマンドラインからファイル名を指定しての読み込みに対応。
- ドラッグアンドドロップに対応。
- ファイル途中の指定バイトからの読み込みに対応。
- 前と次を実装。
2008-12-20:Ver 0.0.6.1
- ソースコードの見直し。
- 「キャンセル」ボタン削除。変わりに「開く」ボタンでファイルを開いたら「キャンセル」に変えるようにした。
- 頭から指定行しか読めなかったのを、頭から、後ろから、全部の三通り指定できるように変更。
- 読み込むのを行数で指定していたのをバイト単位に変更。
指定できる最大は10MB。(全部の場合はファイルサイズ分読み込む)
2008-06-21:Ver 0.0.5.0
2008-05-23:Ver 0.0.4.0
- ファイルサイズが指定行*16バイトに満たない時に最後の行が途中までのときであってもその後のメモリまで読み込んで表示していた不具合を修正。
2008-05-20:Ver 0.0.3.0
- 読み込むバイト数を128*16バイト固定から行数を指定できるように変更。
2008-05-16:Ver 0.0.2.0
2008-05-15:Ver 0.0.1.0
- Unicode表示の拡充(Big EndianとLittle Endian)
2008-05-04:作成