Every portable file begins with a 464-byte header, consisting of a 200-byte collection of vanity splash strings, followed by a 256-byte character set translation table, followed by an 8-byte tag string.
The 200 bytes of splash strings are divided into five 40-byte
sections, each of which is supposed to represent the string
charset SPSS PORT FILE in a different character set
encoding1, where charset is the name of the character set used
in the file, e.g. ASCII or EBCDIC. Each string is
padded on the right with spaces in its respective character set.
It appears that these strings exist only to inform those who might
view the file on a screen, letting them know what character set the
file is in regardless of how they are viewing it, and that they are
not parsed by SPSS products. Thus, they can be safely ignored. It is
reasonable to simply write out ASCII SPSS PORT FILE five times,
each time padded to 40 bytes.
The 256-byte segment describes a mapping from the character set used in the portable file to an arbitrary character set having characters at the following positions:
Control characters. Not important enough to describe in full here.
Reserved.
Digits ‘0’ through ‘9’.
Capital letters ‘A’ through ‘Z’.
Lowercase letters ‘a’ through ‘z’.
Space.
Symbols .<(+
Solid vertical pipe.
Symbols &[]!$*);^-/
Broken vertical pipe.
Symbols ,%_>?`:
British pound symbol.
Symbols @'=".
Less than or equal symbol.
Empty box.
Plus or minus.
Filled box.
Degree symbol.
Dagger.
Symbol ‘~’.
En dash.
Lower left corner box draw.
Upper left corner box draw.
Greater than or equal symbol.
Superscript ‘0’ through ‘9’.
Lower right corner box draw.
Upper right corner box draw.
Not equal symbol.
Em dash.
Superscript ‘(’.
Superscript ‘)’.
Horizontal dagger (?).
Symbols ‘{}\’.
Cents symbol.
Centered dot, or bullet.
Reserved.
Symbols that are not defined in a particular character set are set to the same value as symbol 64; i.e., to ‘0’.
The 8-byte tag string consists of the exact characters SPSSPORT
in the portable file’s character set, which can be used to verify that
the file is indeed a portable file.