it's not OK to stick a picked object into the db, protocol 0 isn't guaranteed to be ASCII, (contradictory to the official docs). Encoding to base64 is necessary in case there are other non-ASCII encodings embedded in the object