Apple have documented the binary plist format
Thanks to Dave Dribin for pointing this out.
In http://opensource.apple.com/source/CF/CF-550/CFBinaryPList.c
So really there’s no reason why we can’t have plistlib etc for Ruby/Python/whatever deal with binary plists on non-Mac platforms.
/*
HEADER
magic number (“bplist”)
file format version
OBJECT TABLE
variable-sized objects
Object Formats (marker byte followed by additional info in some cases)
null 0000 0000
bool 0000 1000 // false
bool 0000 1001 // true
fill 0000 1111 // fill byte
int 0001 nnnn … // # of [...]