Data sets produced by R's serialization:

Doubles:
- noatt-123456-noxdr: serialize(c(1234.56), ascii=F, xdr=F)
 [1] 42 0a 02 00 00 00 02 00 03 00 00 03 02 00 0e 00 00 00 01 00 00 00 0a d7 a3
[26] 70 3d 4a 93 40

- noatt-123456-xdr: serialize(c(1234.56), ascii=F, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 00 0e 00 00 00 01 40 93 4a
[26] 3d 70 a3 d7 0a

- f-123456-xdr: serialize(c(f=1234.56), ascii=F, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 02 0e 00 00 00 01 40 93 4a
[26] 3d 70 a3 d7 0a 00 00 04 02 00 00 00 01 00 04 00 09 00 00 00 05 6e 61 6d 65
[51] 73 00 00 00 10 00 00 00 01 00 04 00 09 00 00 00 01 66 00 00 00 fe

- foo-123456-xdr: serialize(c(foo=1234.56), ascii=F, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 02 0e 00 00 00 01 40 93 4a
[26] 3d 70 a3 d7 0a 00 00 04 02 00 00 00 01 00 04 00 09 00 00 00 05 6e 61 6d 65
[51] 73 00 00 00 10 00 00 00 01 00 04 00 09 00 00 00 03 66 6f 6f 00 00 00 fe


Ints:
- noatt-123l-noxdr: serialize(1:3, ascii=F, xdr=F)
 [1] 42 0a 02 00 00 00 02 00 03 00 00 03 02 00 0d 00 00 00 03 00 00 00 01 00 00
[26] 00 02 00 00 00 03 00 00 00

- noatt-123l-xdr: serialize(1:3, ascii=F, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 00 0d 00 00 00 03 00 00 00
[26] 01 00 00 00 02 00 00 00 03

- abc-123l-xdr: serialize(c(a=1L, b=2L, c=3L), ascii=F, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 02 0d 00 00 00 03 00 00 00
[26] 01 00 00 00 02 00 00 00 03 00 00 04 02 00 00 00 01 00 04 00 09 00 00 00 05
[51] 6e 61 6d 65 73 00 00 00 10 00 00 00 03 00 04 00 09 00 00 00 01 61 00 04 00
[76] 09 00 00 00 01 62 00 04 00 09 00 00 00 01 63 00 00 00 fe


Chars:
- noatt-abc-noxdr: serialize(letters[1:3], f, ascii=F, xdr=F)
 [1] 42 0a 02 00 00 00 02 00 03 00 00 03 02 00 10 00 00 00 03 00 00 00 09 00 04
[26] 00 01 00 00 00 61 09 00 04 00 01 00 00 00 62 09 00 04 00 01 00 00 00 63

- noatt-abc-xdr: serialize(letters[1:3], f, ascii=F, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 00 10 00 00 00 03 00 04 00
[26] 09 00 00 00 01 61 00 04 00 09 00 00 00 01 62 00 04 00 09 00 00 00 01 63

- ABC-abc-xdr: serialize(c(A='a', B='b', C='c'), ascii=F, xdr=T)
  [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 02 10 00 00 00 03 00 04 00
 [26] 09 00 00 00 01 61 00 04 00 09 00 00 00 01 62 00 04 00 09 00 00 00 01 63 00
 [51] 00 04 02 00 00 00 01 00 04 00 09 00 00 00 05 6e 61 6d 65 73 00 00 00 10 00
 [76] 00 00 03 00 04 00 09 00 00 00 01 41 00 04 00 09 00 00 00 01 42 00 04 00 09
[101] 00 00 00 01 43 00 00 00 fe


Complex vectors:

- empty_cpx: complex()
- cpx_na: c(1, NA_complex_, 3i, 0)
- noatt-cpx: 3+2i
- foo-cpx: c(foo=3+2i)
- cpx-1i: 1i
- cpx-0i: 5+0i
- cpx-vector: complex(real=1:3, imaginary=4:6)


Raw:

- noatt-raw-noxdr: serialize(as.raw(c(1:3, 255, 0)), NULL, xdr=F)
 [1] 42 0a 02 00 00 00 02 00 03 00 00 03 02 00 18 00 00 00 05 00 00 00 01 02 03
[26] ff 00

- noatt-raw-xdr: serialize(as.raw(c(1:3, 255, 0)), NULL, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 00 18 00 00 00 05 01 02 03
[26] ff 00


Logical:
- noatt-true-noxdr: serialize(TRUE, NULL, xdr=F)
 [1] 42 0a 02 00 00 00 00 01 03 00 00 03 02 00 0a 00 00 00 01 00 00 00 01 00 00
[26] 00

- noatt-true-xdr: serialize(TRUE, NULL xdr=T)
 [1] 58 0a 00 00 00 02 00 03 01 00 00 02 03 00 00 00 00 0a 00 00 00 01 00 00 00
[26] 01

- noatt-tfftf-xdr: serialize(c(T, F, F, T, F), NULL, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 01 00 00 02 03 00 00 00 00 0a 00 00 00 05 00 00 00
[26] 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00

- ABCDE-tfftf-xdr: serialize(c(A=T, B=F, C=F, D=T, E=F), NULL, xdr=T)
  [1] 58 0a 00 00 00 02 00 03 01 00 00 02 03 00 00 00 02 0a 00 00 00 05 00 00 00
 [26] 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 04 02 00 00 00 01
 [51] 00 04 00 09 00 00 00 05 6e 61 6d 65 73 00 00 00 10 00 00 00 05 00 04 00 09
 [76] 00 00 00 01 41 00 04 00 09 00 00 00 01 42 00 04 00 09 00 00 00 01 43 00 04
[101] 00 09 00 00 00 01 44 00 04 00 09 00 00 00 01 45 00 00 00 fe

Lists:
- noatt-list-noxdr: serialize(list(1:3, list('a', 'b', 11), 'foo'), f, ascii=F, xdr=F)
  [1] 42 0a 02 00 00 00 02 00 03 00 00 03 02 00 13 00 00 00 03 00 00 00 0d 00 00
 [26] 00 03 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 13 00 00 00 03 00 00 00
 [51] 10 00 00 00 01 00 00 00 09 00 04 00 01 00 00 00 61 10 00 00 00 01 00 00 00
 [76] 09 00 04 00 01 00 00 00 62 0e 00 00 00 01 00 00 00 00 00 00 00 00 00 26 40
[101] 10 00 00 00 01 00 00 00 09 00 04 00 03 00 00 00 66 6f 6f

- noatt-list-xdr: serialize(list(1:3, list('a', 'b', 11), 'foo'), f, ascii=F, xdr=T)
  [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 00 13 00 00 00 03 00 00 00
 [26] 0d 00 00 00 03 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 13 00 00 00 03
 [51] 00 00 00 10 00 00 00 01 00 04 00 09 00 00 00 01 61 00 00 00 10 00 00 00 01
 [76] 00 04 00 09 00 00 00 01 62 00 00 00 0e 00 00 00 01 40 26 00 00 00 00 00 00
[101] 00 00 00 10 00 00 00 01 00 04 00 09 00 00 00 03 66 6f 6f

- foobar-list-xdr: serialize(list(foo=1:3, list('a', 'b', 11), bar='foo'), f, ascii=F, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 02 13 00 00 00 03 00 00 00
 [26] 0d 00 00 00 03 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 13 00 00 00 03
 [51] 00 00 00 10 00 00 00 01 00 04 00 09 00 00 00 01 61 00 00 00 10 00 00 00 01
 [76] 00 04 00 09 00 00 00 01 62 00 00 00 0e 00 00 00 01 40 26 00 00 00 00 00 00
[101] 00 00 00 10 00 00 00 01 00 04 00 09 00 00 00 03 66 6f 6f 00 00 04 02 00 00
[126] 00 01 00 04 00 09 00 00 00 05 6e 61 6d 65 73 00 00 00 10 00 00 00 03 00 04
[151] 00 09 00 00 00 03 66 6f 6f 00 04 00 09 00 00 00 00 00 04 00 09 00 00 00 03
[176] 62 61 72 00 00 00 fe


Matrix:
- noatt-mat-noxdr: serialize(matrix(-1:4, 2, 3), f, ascii=F, xdr=F)
 [1] 42 0a 02 00 00 00 02 00 03 00 00 03 02 00 0d 02 00 00 06 00 00 00 ff ff ff
[26] ff 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 02 04 00 00
[51] 01 00 00 00 09 00 04 00 03 00 00 00 64 69 6d 0d 00 00 00 02 00 00 00 02 00
[76] 00 00 03 00 00 00 fe 00 00 00

- noatt-mat-noxdr: serialize(matrix(-1:4, 2, 3), f, ascii=F, xdr=T)
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 02 0d 00 00 00 06 ff ff ff
[26] ff 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 04 02
[51] 00 00 00 01 00 04 00 09 00 00 00 03 64 69 6d 00 00 00 0d 00 00 00 02 00 00
[76] 00 02 00 00 00 03 00 00 00 fe

- ab-mat-noxdr: serialize(matrix(-1:4, 2, 3, dimnames=list(c('a', 'b'))), f, ascii=F, xdr=T)
  [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 02 0d 00 00 00 06 ff ff ff
 [26] ff 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 04 02
 [51] 00 00 00 01 00 04 00 09 00 00 00 03 64 69 6d 00 00 00 0d 00 00 00 02 00 00
 [76] 00 02 00 00 00 03 00 00 04 02 00 00 00 01 00 04 00 09 00 00 00 08 64 69 6d
[101] 6e 61 6d 65 73 00 00 00 13 00 00 00 02 00 00 00 10 00 00 00 02 00 04 00 09
[126] 00 00 00 01 61 00 04 00 09 00 00 00 01 62 00 00 00 fe 00 00 00 fe


Data frame:

- cars-noxdr: serialize(head(cars), f, ascii=F, xdr=F)

- cars-xdr: serialize(head(cars), f, ascii=F, xdr=T)
  [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 03 13 00 00 00 02 00 00 00
 [26] 0e 00 00 00 06 40 10 00 00 00 00 00 00 40 10 00 00 00 00 00 00 40 1c 00 00
 [51] 00 00 00 00 40 1c 00 00 00 00 00 00 40 20 00 00 00 00 00 00 40 22 00 00 00
 [76] 00 00 00 00 00 00 0e 00 00 00 06 40 00 00 00 00 00 00 00 40 24 00 00 00 00
[101] 00 00 40 10 00 00 00 00 00 00 40 36 00 00 00 00 00 00 40 30 00 00 00 00 00
[126] 00 40 24 00 00 00 00 00 00 00 00 04 02 00 00 00 01 00 04 00 09 00 00 00 05
[151] 6e 61 6d 65 73 00 00 00 10 00 00 00 02 00 04 00 09 00 00 00 05 73 70 65 65
[176] 64 00 04 00 09 00 00 00 04 64 69 73 74 00 00 04 02 00 00 00 01 00 04 00 09
[201] 00 00 00 09 72 6f 77 2e 6e 61 6d 65 73 00 00 00 0d 00 00 00 02 80 00 00 00
[226] 00 00 00 06 00 00 04 02 00 00 00 01 00 04 00 09 00 00 00 05 63 6c 61 73 73
[251] 00 00 00 10 00 00 00 01 00 04 00 09 00 00 00 0a 64 61 74 61 2e 66 72 61 6d
[276] 65 00 00 00 fe

- mtcars-noxdr: serialize(head(mtcars), f, ascii=F, xdr=F)

- mtcars-xdr: serialize(head(mtcars), f, ascii=F, xdr=T)

- iris-noxdr: serialize(head(iris), f, ascii=F, xdr=F)

- iris-xdr: serialize(head(iris), f, ascii=F, xdr=T)

- df_auto_rownames: data.frame(a=1:3, b="x")
  - row.names attribute is `c(NA, -3L)`
- df_expl_rownames: data.frame(a=1:3, b="x")[1:3,]
  - row.names attribute is `c(NA, 3L)`


Language:

- lang-lm-mpgwt-xdr: serialize(lm(mpg ~ wt, data = head(mtcars))$call,
  f, ascii=F, xdr=T)


More complex:

- mtcars-lm-mpgwt-xdr: serialize(lm(mpg ~ wt, data = head(mtcars)), f,
  ascii=F, xdg=T)


Environments:

- global environment:
 [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 00 fd

- e1 <- new.env(size=3, parent=.GlobalEnv); assign('x', 'foo', e1); assign('y', 'bar', e1)
  serialize(e1, NULL):
  [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 00 04 00 00 00 00 00 00 00
 [26] fd 00 00 00 fe 00 00 00 13 00 00 00 03 00 00 04 02 00 00 00 01 00 04 00 09
 [51] 00 00 00 01 78 00 00 00 10 00 00 00 01 00 04 00 09 00 00 00 03 66 6f 6f 00
 [76] 00 00 fe 00 00 04 02 00 00 00 01 00 04 00 09 00 00 00 01 79 00 00 00 10 00
[101] 00 00 01 00 04 00 09 00 00 00 03 62 61 72 00 00 00 fe 00 00 00 fe 00 00 00
[126] fe

- e2 <- new.env(parent=e1); assign('x', 7L, e2)
  serialize(e2, NULL):
  [1] 58 0a 00 00 00 02 00 03 00 02 00 02 03 00 00 00 00 04 00 00 00 00 00 00 00
 [26] 04 00 00 00 00 00 00 00 fd 00 00 00 fe 00 00 00 13 00 00 00 03 00 00 04 02
 [51] 00 00 00 01 00 04 00 09 00 00 00 01 78 00 00 00 10 00 00 00 01 00 04 00 09
 [76] 00 00 00 03 66 6f 6f 00 00 00 fe 00 00 04 02 00 00 00 01 00 04 00 09 00 00
[101] 00 01 79 00 00 00 10 00 00 00 01 00 04 00 09 00 00 00 03 62 61 72 00 00 00
[126] fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 13 00 00 00 1d 00 00 00 fe
[151] 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 04 02 00 00 03 ff 00 00 00 0d 00
[176] 00 00 01 00 00 00 07 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00
[201] 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00
[226] fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe
[251] 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00 00 00 fe 00
[276] 00 00 fe 00 00 00 fe 00 00 00 fe


Expressions:

- expression()
 [1] 58 0a 00 00 00 02 00 03 01 00 00 02 03 00 00 00 00 14 00 00 00 00

- expression(NULL)
 [1] 58 0a 00 00 00 02 00 03 01 00 00 02 03 00 00 00 00 14 00 00 00 01 00 00 00
[26] fe

- expression(42L)
 [1] 58 0a 00 00 00 02 00 03 01 00 00 02 03 00 00 00 00 14 00 00 00 01 00 00 00
[26] 0d 00 00 00 01 00 00 00 2a

- expression(1+2)
 [1] 58 0a 00 00 00 02 00 03 01 00 00 02 03 00 00 00 00 14 00 00 00 01 00 00 00
[26] 06 00 00 00 01 00 04 00 09 00 00 00 01 2b 00 00 00 02 00 00 00 0e 00 00 00
[51] 01 3f f0 00 00 00 00 00 00 00 00 00 02 00 00 00 0e 00 00 00 01 40 00 00 00
[76] 00 00 00 00 00 00 00 fe

- expression(u, v, 1+0:9)
  [1] 58 0a 00 00 00 02 00 03 01 00 00 02 03 00 00 00 00 14 00 00 00 03 00 00 00
 [26] 01 00 04 00 09 00 00 00 01 75 00 00 00 01 00 04 00 09 00 00 00 01 76 00 00
 [51] 00 06 00 00 00 01 00 04 00 09 00 00 00 01 2b 00 00 00 02 00 00 00 0e 00 00
 [76] 00 01 3f f0 00 00 00 00 00 00 00 00 00 02 00 00 00 06 00 00 00 01 00 04 00
[101] 09 00 00 00 01 3a 00 00 00 02 00 00 00 0e 00 00 00 01 00 00 00 00 00 00 00
[126] 00 00 00 00 02 00 00 00 0e 00 00 00 01 40 22 00 00 00 00 00 00 00 00 00 fe
[151] 00 00 00 fe


Closures:

- `function() {}`

- `function() NULL`

- `function() 1L`

- `function() 1+2`

- `function(a, b) {a - b}`

- `function(a=3, b) {a + b * pi}`

- `function(x=3, y, ...) {x * log(y) }`


Additional formats:

- .rds: the object from the corresponding file serialized using
  `saveRDS` (with no compression, or using Gzip, Bzip2, and XZ, as
  recorded in the name)

- .qap: the object from the corresponding file serialized by the
  Rserve server using the QAP protocol
