Values can be strings, integers, floats, booleans, tuples, lists, dictionaries
(but only with string keys), Data or datetime.datetime
objects. String values (including dictionary keys) have to be unicode strings –
they will be written out as UTF-8.

The <data> plist type is supported through the Data class. This is
a thin wrapper around a Python bytes object. Use Data if your strings
contain control characters.