Table of Contents

  Overview
  Controls
  ASCII and Binary Searching
  Text Window

 

Overview

The ByteReader program was developed to assist in searching large files for specific ASCII and binary information. This application started small, but grew steadily has my needs changed. The final result which is stll far from finished is shown below.

Byte Reader with GoldenGate.jpg image opened

 

Controls

The controls for the Byte Reader program are fairly simple (even if they don't look it). The Browse button opens a dialog box where the user can select a file to load. When the file is opened, the file position is set to zero and each type of data is read from the starting position. Each type of data is displayed in the corresponding text box.

Incrementing through the file can be done in several different ways. To skip through the file based on the data, the user can select the increment and decrement button on either side of each data box. This will increment the file pointer by the size of the associated data type. For instance if you press the increment button on the right of the Byte data field the file pointer will increment by one byte. If you press the increment button for a double, the file pointer will increment by 8 bytes (64-bits).

Close up of Byte Reader Controls

The user can also set a scan rate (in bytes) and use the increment and decrement buttons to skip ahead or back by the number of bytes in the textbox. The final method of skipping through a file is the Set Position box. The user can input a file position in bytes and the file pointer is immediately set to the new position.

 

ASCII and Binary Searching

The search method allows the user to define a value and search the file for that value. This can be an ASCII string or any of the binary types displayed above. To search for a binary value, the user selects the data type and puts the value (in alphanumeric) in the search value parameter. This works very well for non-floating values (int,long,byte,etc.), but is considerably more difficult for floats and doubles. To find a floating point value, the user must set the search value exactly (all digits of precision) to have a successful search.

 

Text Window

The text window is functional but still under development. The purpose of the text window is to give a large scale view of upcoming data in a file. Eventually the text window will support the display of any standard data type, but currently only ASCII, Hex, and Byte data types are supported. A screen capture of each is shown below.

Close Up of ByteReader Text Window (Set to ASCII)

Close Up of ByteReader Text Window (Set to Hexadecimal)

Close Up of ByteReader Text Window (Set to Byte)