A File Interface is an important concept in 010 Editor. Every file that is loaded is assigned a File Interface and this interface controls how that file is displayed and edited. A File Interface includes the Font, Character Set, Linefeeds/Line Width, Tabs, Addresses, Group By, Division Lines, Areas, Highlighting, Ruler, Status Bar, and Endian settings for a file (basically all options listed at the top of the View Menu). The name of the current file's File Interface is displayed in the Edit As area of the File Bar above each file. A different File Interface can be applied to the current file by clicking the Edit As area and choosing from the drop-down list or using the 'View > Edit As' menu.
File Interfaces may be either text-based, where the Text Editor Window is used to edit the file, or hex-based, where the Hex Editor Window is used to the edit the file. Note that some options are only applicable to one type of File Interface. The Toggle Hex Interface button in the Tool Bar will be highlighted when the current file is using a hex-based file interface. Edit the current interface from the View Menu and some, but not all, options can be edited using the File Interface Options dialog as well. Modifying an option for one file modifies that option for all files that use that interface. Any changes to the interface are automatically saved when 010 Editor exits so the interface will appear the same the next time the program loads.
Multiple interfaces can be generated for files and assigned automatically when a file loads. For example, 010 Editor can be configured to always open a file with a certain file extension in Big Endian mode or with the EBCDIC character set. To create new interfaces use the 'View > Edit As' menu (see the View Menu for more information) or the File Interface Options dialog (see File Interface Options dialog). The 'View > Edit As' menu contains a list of all available File Interfaces and a checkmark will be placed beside the currently active interface. For more options on how File Interfaces are assigned to files see the Editor Options dialog.
The following list indicates all attributes that are stored with the File Interface:
- Font - Controls the font type, size, and style that are used in the editor. File Interfaces may use either the standard Text Editor font, the standard Hex Editor font, or their own custom font.
- Character Set - Sets which character set is used to display data in a character area (ASCII, ASCII+OEM, ASCII+ANSI, EBCDIC, Unicode, UTF-8, Macintosh, or various international character sets).
- Linefeeds (text only) - Controls how 010 Editor breaks a text file into a set of lines. Can be used to turn on Word Wrap for a file and control how the wrapping is performed.
- Line Width (hex only) - Specifies how many bytes are displayed on each line of the hex editor. The width can be set to 4, 8, 12, 16, or 20 bytes per line or any custom value. Also the editor can be set to automatically determine the maximum number of bytes to display in the window by choosing the Auto Width option.
- Tabs/Whitespace (text only) - When editing text files the Tabs setting controls how far apart the tab stops are in a file. When a tab character is encountered in a file the next character is displayed at the next tab stop position. The Tabs option also controls how many characters are inserted when the Tab key is pressed. 010 Editor can be set to insert spaces instead of tabs (the default) as well.
- Addresses - Controls whether the addresses on the left side display the byte number, sector number, line number or short number. The address can also be displayed in hex format, decimal format, or octal format or hidden altogether.
- Group By (hex only)- Sets how many bytes are grouped together in the Hex Editor Window (the default is one).
- Division Lines (hex only) - 010 Editor can draw a set of lines on the Hex Editor Window to visualize how different bytes are grouped together. There are two types of lines that can be drawn: Division Lines and Sector Lines. By default, a division line is drawn every 4 bytes in a light-gray color and a sector line is drawn for each sector in a dark-gray color when editing hard drives. See the View Menu for more information on Division Lines.
- Left Area (hex only) - Controls which numeric format is displayed in the left area of the Hex Editor (Hex, Char, Octal, Binary, or Decimal).
- Right Area (hex only) - Controls which numeric format is displayed in the right area of the Hex Editor (Hex, Char, Octal, Binary, Decimal, or Hide).
- Highlighting - Controls which bytes are highlighted in the editor. A number of highlighting schemes are available by default but more can be generated through the Highlight Options dialog. Different syntax highlighting rules can also be applied to text data and rules can be customized or created through the Syntax Options dialog.
- Ruler - Specifies whether the Ruler is displayed at the top of the Editor Window and the units of the Ruler can be controlled as well.
- Status Bar - Sets what format to display the current file position, file size, and selection size as seen in the status bar.
- Endian - Controls which byte-ordering is used for the current editor (see Introduction to Byte Ordering).
See the View Menu for more details about each option.