binary2ascii - Convert binary numbers to textual
representation
binary2ascii reads input consisting of binary numbers and
converts them to their textual representation. Command line flags specify
the type and size of the binary numbers and provide control over the format
of the output. Unsigned integers may be written out in binary, octal,
decimal, or hexadecimal. Signed integers may be written out only in binary
or decimal. Floating point numbers may be written out only in decimal,
either in standard or scientific notation. (If you want to examine the
binary representation of floating point numbers, just treat the input as a
sequence of unsigned characters.)
Long options may not be available on some systems.
- -b,--base
<base>
- Base for integer conversions: b(binary),d(ecimal), h(exadecimal), o(ctal),
or 2,8,10, or 16.
- -d,--delimit
- Delimit the output as per the locale. This is the default on systems in
which printf(3) supports delimitation. If delimitation is not
enabled, floating point numbers will have a decimal point and no
separation of groups, integers no delimiters at all. With this option, the
decimal separator will be chosen according to the locale (which, for
example, may make it a comma), and non-fractional digits will be grouped
and separated according to the rules for the locale in force. For American
English, this means groups of three digits separated by commas, whereas
for German in Germany it means groups of three digits separated by
periods.
- -D,--do-not-delimit
- Do not delimit the output as per the -d option.
- -e,--exponential
- Use exponential (scientific) notation.
- -h,--help
- print help message
- -l,--linefeed
- add a linefeed after every 0x0A value if the size is char, short, int, or
long, that is, the sizes that might represent a character.
- -L,locale
<locale>
- Set the LC_NUMERIC facet of the locale to <locale>.
- -n,--number
<number>
- number of items to print per line.
- -o,--offset
<offset>
- byte offset at which to start.
- -p,--precision
<precision>
- the precision to use when printing floating point numbers.
- -s,--sizes
- print sizes of types on current machine and related information
- -t,--type
<type>
- set type and size of input
- -x,--no-hex-mark
- do not mark hexadecimal output with the prefix 0x.
- -V,--verbose
- be verbose.
- -v,--version
- print version information.
- -w,--width
- minimum field width.
- -X,--explain-exit-codes
- print a summary of the exit status codes.
- -z,--zero-pad-integers
- zero pad on left.
- -Z,--do-not-zero-pad-integers
- do not zero pad on left
The following are the possible input types. Note that some types
may not be available on some machines.
d double
f float
q long double
sc signed char
ss signed short
si signed int
sl signed long
sq signed long long
uc unsigned char
us unsigned short
ui unsigned int
ul unsigned long
uq unsigned long long
The following values are returned on exit:
- 0 SUCCESS
- The input was successfully converted.
- 1 INFO
- The user requested information such as the version number or usage
synopsis and this has been provided.
- 2 SYSTEM ERROR
- An error resulted from a failure of the operating system such as an i/o
error or inability to allocate storage.
- 3 COMMAND LINE ERROR
- The program was called with invalid or inconsistent command line flags.
- 5 INPUT ERROR
- This means that the input was ill-formed, that is that it could not be
interpreted as a number of the required type. For example, if the input is
0x2A and a decimal value is called for, an INPUT ERROR will be returned
since 0x2A is not a valid representation of a decimal integer.
Bill Poser (billposer@alum.mit.edu)
GNU General Public License, version 3