When the top-level "Output" node is selected for save:
04 i0
- "SPSS Output Document"
+ b"SPSS Output Document"
i1 63
ffff 0000 "NavRoot" 02 00*32
ffff 0000 "DspSimpleText" 00*10
ffff 0000 "DspString" 01 02 28 00 00 01 b"Output"
- ffff 0000 "NavTreeViewItem" 00 i0 02 00 01 00*9 i1
-00c0 (i0 | i24) (i24 | i-40) (i0 | i40 | i-40) (i40 | i-34)
+ ffff 0000 "NavTreeViewItem"
+ 00 i0 02 00 01 00*9 i1
+00b0 (i0 | i24) (i24 | i-40) (i0 | i40 | i-40) (i40 | i-34)
+00c0 i24 i0 i40 i40
00d0 (i1048 | some other 3-hex-digit number | i0)
00d4 (i0 | some 3 to 4-hex-digit number | i-40)
00d8 00*5
-00dd (i8500 i11000 | i11000 i8500)
-00e5 (s1 | s9) (s1 | s7 | s15) (s1 | s2)
-00eb i1270*4
-00fb s0 i240 s?? s1 b"(Continued)" 01 01 00*3 byte 00*3
+00dd i8500 # paper width in 1000/inch (i11000 for landscape)
+00e1 i11000 # paper length in 1000/inch (i8500 for landscape)
+00e5 s1 # letter paper (5=legal, 9=A4, etc.)
+00e7 s15 # s1, s7 also seen
+00e9 s1 # portrait; s2 = landscape
+00eb i1270 # left margin in 2540/inch, e.g. 1270 = .5 inch
+00ef i1270 # top margin in 2540/inch
+00f3 i1270 # right margin
+00f7 i1270 # bottom margin
+00fb s0
+00fd s240 # object spacing in 1440/inch, e.g. 240 = 12 pt
+00ff s0 # charts: 0=asis, 1=full page, 2=half, 03=quarter
+0101 s??
+0103 s1 # starting page number
+0105 b"(Continued)" 01 01 00*3
0116 w"{\rtf... pagetitle}"
01fd 01 01 00*3
0202 w"{\rtf... page number}"
0317 i0
0318 03 80 00*10
0324 05 80 01 02 28 05 00 01 b"Log"
-0333 07 80 00 i2 0a 00 01 00*9 i1 00*2 01 01 (f3|f4) ff ff ff 00*4
-0357 00*8 90 01 00*9 (22|31)
+
+0333 07 80 00 02 00 00 00 0a 00 01 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 b"" 00
+0347 01 01 (i-13 | i-12) 00*12 90 01 00*9 (22|31)
036b 32-bytes of null-padded font name, e.g. "Courier New".
Sometimes garbage after the first null.
038b (i80 | i132) 00*8 i1
-038f 00*8 i1
039b w"{\rtf ... SPSS syntax...}"
Almost past SPSS syntax (only the } included):
0000 '}' 00
+
0002 ffff 0000 "NavHead" 02
0010 00*24 i1 i0
-0030 03 80 00 00 00 00 00 00 00 00 00 00 05 80 01 02
-0040 28 05 00 01
-0044 b"Cluster|Crosstabs|..."
+0030 03 80 00*10
+ 05 80 01 02 28 05 00 01 b"Cluster|Crosstabs|..."
Just past the string:
-0000 07 80 00 00 00 00 00 0f 00 01 00 00 00 00 00 00
-0010 00 00 00 01 00 00 00 00 00
-0019 b"Cluster|Crosstabs|..."
+0000 07 80 00 00 00 00 00 0f 00 01 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 b"Cluster|Crosstabs|..."
Just past the string again:
0000 00*3
0003 ffff 0000 "NavTitle"
0011 65 02 00 00 00 00 00 00 00 00 18 00 00 00 byte byte
0020 ff ff 00 04 00 00 byte byte
-0028 ff ff 02 00 00 00 01 00 00 00 03 80 00*10
+0028 ff ff 02 00 00 00 01 00 00 00
+0032 03 80 00*10
003e 05 80 01 02 28 00 00 01 b"Title"
-004c 07 80 00 08
-0050 00 00 00 14 00 01 00*9 01
-0060 00*5
-0065 b"Cluster|Crosstabs|..."
+004c 07 80 00 08 00 00 00 14 00 01 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 b"Cluster|Crosstabs|..."
Just past the third string:
-0000 01 01 ed ff ff ff 00 00 00 00 00 00 00 00 00 00
-0010 00 00 bc 02 00 00 00 00 00 00 00 00 00 22
+0000 01 01 i-19 00*12 bc 02 00*9 22
001e 32-bytes of buggy zero-padded string "Arial"
-003e 50 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
+003e i80 00*8 i1
004e w"{\rtf...}"
Almost past the RTF (only } included):
0000 '}' 00
+
0002 ffff 0000 "NavNote"
-0010 02 00 00 00 00 00 00 00 00 18 00 00 00 (i0 | i-40)
+0010 02 00*8 i24 (i0 | i-40)
0020 int int i2 i1
0030 03 80 00*10
003c 05 80 01 02 28 05 00 01 b"Notes"
-004a 07 80 00 i7 19 00 01 00 00*2 01 00*5 01 00*5
-0063 b"Cluster|Crosstabs|..."
+004a 07 80 00 07 00*3 19 00 01 00*3 01 00*5 01 00*5 b"Cluster|Crosstabs|..."
Just past the fourth string:
0000 01
00c5 80 02
00c7 double # seconds since 1582...
00cf b"16-APR-2007 15:20:00" # or whatever
-00e4 27
-00e5 80 00 03 80 00 00 00 00 00 00 00 00 00 00 05
-00f4 80 01 02 28 05 00 01 01 20
+00e4 27 80 00 03 80 00 00 00 00 00 00 00 00 00 00
+00f3 05 80 01 02 28 05 00 01 01 20
# Some files have extra 00 00 here
# but we're only considering as-number-nozeros
00fd 27 80 00