010 Editor is a commercial
hex editor
A hex editor (or ''binary file editor'' or ''byte editor'') is a computer program that allows for manipulation of the fundamental binary data that constitutes a computer file. The name 'hex' comes from 'hexadecimal', a standard numerical format ...
and
text editor
A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be u ...
for
Microsoft Windows,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
and
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
. Typically 010 Editor is used to edit
text files
A text file (sometimes spelled textfile; an old alternative name is flatfile) is a kind of computer file that is structured as a sequence of lines of electronic text. A text file exists stored as data within a computer file system. In operating ...
,
binary files
A binary file is a computer file that is not a text file. The term "binary file" is often used as a term meaning "non-text file". Many binary file formats contain parts that can be interpreted as text; for example, some computer document file ...
,
hard drives
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with magne ...
, processes, tagged data (e.g.
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
,
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
), source code (e.g.
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significa ...
,
PHP
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
,
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
), shell scripts (e.g.
Bash
Bash or BASH may refer to:
Arts and entertainment
* ''Bash!'' (Rockapella album), 1992
* ''Bash!'' (Dave Bailey album), 1961
* '' Bash: Latter-Day Plays'', a dramatic triptych
* ''BASH!'' (role-playing game), a 2005 superhero game
* "Bash" ('' ...
,
batch files
Batch may refer to:
Food and drink
* Batch (alcohol), an alcoholic fruit beverage
* Batch loaf, a type of bread popular in Ireland
* A dialect term for a bread roll used in North Warwickshire, Nuneaton and Coventry, as well as on the Wirral, ...
), log files, etc. A large variety of binary data formats can be edited through the use of Binary Templates.
The software uses a tabbed document interface for displaying text and binary files. Full search and replace with regular expressions is supported along with comparisons, histograms,
checksum
A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to verify dat ...
/hash algorithms, and column mode editing. Different
character encodings
Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using digital computers. The numerical values t ...
including
ASCII
ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
,
Unicode
Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
, and
UTF-8
UTF-8 is a variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit''.
UTF-8 is capable of ...
are supported including conversions between encodings. The software is scriptable using a language similar to
ANSI C
ANSI C, ISO C, and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI) and ISO/IEC JTC 1/SC 22/WG 14 of the International Organization for Standardization (ISO) and th ...
.
Originally created in 2003 by Graeme Sweet, 010 Editor was designed to fix problems in large multibeam
bathymetry
Bathymetry (; ) is the study of underwater depth of seabed, ocean floors (''seabed topography''), lake floors, or river floors. In other words, bathymetry is the underwater equivalent to hypsometry or topography. The first recorded evidence of w ...
datasets used in ocean visualization. The software was designed around the idea of Binary Templates. A text editor was added in 2008.
010 Editor is available as
Trialware
Shareware is a type of proprietary software that is initially shared by the owner for trial use at little or no cost. Often the software has limited functionality or incomplete documentation until the user sends payment to the software developer ...
and can be run for free for 30 days. After 30 days a license must be purchased to continue using the software.
Binary Templates
A Binary Template is a text file containing a series of
structs
In computer science, a record (also called a structure, struct, or compound data) is a basic data structure. Records in a database or spreadsheet are usually called "rows".
A record is a collection of ''fields'', possibly of different data types ...
similar to
ANSI C
ANSI C, ISO C, and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI) and ISO/IEC JTC 1/SC 22/WG 14 of the International Organization for Standardization (ISO) and th ...
. The main difference between ANSI C is that structs in Binary Templates may contain control statements such as ''if'', ''for'' or ''while''. When 010 Editor executes a Binary Template on a binary data file, each variable defined in the Binary Template is mapped to a set of bytes in the binary file and added to a hierarchical
tree structure
A tree structure, tree diagram, or tree model is a way of representing the hierarchical nature of a structure in a graphical form. It is named a "tree structure" because the classic representation resembles a tree, although the chart is genera ...
. The tree structure can then be used to view and edit data in the binary file in an easier fashion than using the raw hex bytes. Binary Templates typically have a '.bt' extension.
010 Editor has an online repository of Binary Templates containing over 80 formats. When a binary file is opened in 010 Editor and a Binary Template exists for the file, the software can automatically download and install the Template. Templates can also be added to the repository or updated directly from the software.
Technology
Data files in 010 Editor are stored as a series of blocks, where each block can either point to a block of data somewhere on disk or in memory. When a large section of data from a binary file is copied to another binary file, a new block pointer is inserted into the file but the actual data is not copied. This scheme allows partial loading of files from disk and is also used to provide unlimited undo and redo. Currently when large text blocks are opened or copied the data is scanned for linefeeds, meaning there may be a delay before editing can resume. 010 Editor uses the Qt library to provide multi-platform support.
Features
* Edit
text files
A text file (sometimes spelled textfile; an old alternative name is flatfile) is a kind of computer file that is structured as a sequence of lines of electronic text. A text file exists stored as data within a computer file system. In operating ...
, hex files, processes, physical and logical drives
* Multiple files shown as draggable tabs which can be organized in tab groups
* Large file support (50 GB+ for text files, 8
Exabytes
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
for hex files)
* Find and Replace with various data types and
regular expressions
A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" o ...
* Find and Replace across multiples files
* Unlimited undo and redo
* Column Mode Editing
* Supports 30 different
character encodings
Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using digital computers. The numerical values t ...
(e.g.
ASCII
ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
, ANSI,
Unicode
Unicode, formally The Unicode Standard,The formal version reference is is an information technology standard for the consistent encoding, representation, and handling of text expressed in most of the world's writing systems. The standard, ...
,
UTF-8
UTF-8 is a variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit''.
UTF-8 is capable of ...
) plus custom encodings and conversions
* ASCII, Unix, Mac and Unicode linefeed support including visualizing whitespace
* Comparisons and histograms
* Inspector for interpreting bytes as different data types
* Scriptable using a language similar to
ANSI C
ANSI C, ISO C, and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI) and ISO/IEC JTC 1/SC 22/WG 14 of the International Organization for Standardization (ISO) and th ...
* Scripts can be shared online and downloaded using an integrated online repository
* Syntax highlighters can be created, shared and downloaded through the online repository
* Bookmarks can be created using different data types
* Edit
NTFS
New Technology File System (NTFS) is a proprietary journaling file system developed by Microsoft. Starting with Windows NT 3.1, it is the default file system of the Windows NT family. It superseded File Allocation Table (FAT) as the preferred f ...
, FAT, exFAT, and HFS drives using templates
*
Checksum
A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to verify dat ...
/Hash algorithms including CRC-16, CRC-32, Adler32, MD2, MD4, MD5, RIPEMD160, SHA-1, SHA-256, SHA-512, TIGER
* Import or export hex data in
Intel Hex
Intel hexadecimal object file format, Intel hex format or Intellec Hex is a file format that conveys binary information in ASCII text form. It is commonly used for programming microcontrollers, EPROMs, and other types of programmable logic dev ...
Format, Motorola S-Records, Hex Text, C/C++/Java Code, Base64, Uuencoding, RTF, or HTML
* Arithmetic and bitwise operations on hex data
* Printing with header, footer and margin control
* Integrated debugger for finding problems with Binary Templates and scripts
* Portable version for running from USB drives
* Dark and light themes
See also
*
Hex editor
A hex editor (or ''binary file editor'' or ''byte editor'') is a computer program that allows for manipulation of the fundamental binary data that constitutes a computer file. The name 'hex' comes from 'hexadecimal', a standard numerical format ...
*
Comparison of hex editors
The following is a comparison of notable hex editors.
General
Features
{, class="wikitable sortable" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%;"
, - style="background: #ec ...
*
Text editor
A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software (e.g. Windows Notepad). Text editors are provided with operating systems and software development packages, and can be u ...
*
List of text editors
The following is a list of notable text editors.
Graphical and text user interface
The following editors can either be used with a graphical user interface or a text user interface.
Graphical user interface
Text user interface
Sys ...
*
Comparison of text editors
This article provides basic comparisons for notable text editors. More feature details for text editors are available from the '' Category of text editor features'' and from the individual products' articles. This article may not be up-to-date or n ...
References
External links
* {{Official website, www.sweetscape.com
Introduction to Binary TemplatesBinary Templates Repository
Hex editors
Windows text editors
MacOS text editors
Linux text editors
Programming tools for Windows
Data recovery software