Devices on the HP 3000 can transmit information in ASCII (American
Standard Code for Information Interchange) and/or binary code, depending
on the device.
For example, a line printer handles ASCII formatted data, while a disk can
transmit and store data in either format. You can use appropriate optional
parameters in HPFOPEN/FOPEN to specify the code (ASCII or binary) in
which a new file is to be recorded when it is written to a device that
supports both codes.
NOTE: It is even possible to transmit and store data in EBCDIC, as long
as the application program or subsystem (FCOPY, for example) handles
the decoding/encoding. EBCDIC is not handled automatically by MPE/iX.
With many devices, there is no restriction on the data actually
transferred to or from the file; you can write ASCII data to a binary
file, or binary data to an ASCII file. You can specify the type
of code that you want, or accept the MPE/iX default for the device
that you are using.
When the allocated record space is not filled by data, MPE/iX pads the unused
space with a fill character instead of good data. If you accessed this unused
portion of a record (for example, with the inhibit buffering option set to
NOBUF), you would find in the unallocated record space the fill
character specified at file creation.
The fill character may be different depending upon the mechanism you used to
create the file. If you create the file with FOPEN or BUILD,
MPE/iX pads an ASCII file with blanks and a binary file with zeros. If you
create the file with HPFOPEN, MPE/iX pads the file with the fill
character specified by the fill character option (if not
specified, the default fill character for files created with HPFOPEN
is blanks for ASCII files and NULL characters for binary files).
Examples of ASCII files on the HP 3000 include program source files, general
text and document files, and MPE/iX stream files containing MPE/iX commands.
Examples of binary files include program files containing linked
object code, and application data files.