I'm trying to write a desktop program that will allow users to change their parts of a dataset, but without making the whole of the data accessible to them. It's more complex than that, but the important part is that I need to encrypt data files without leaving unencrypted temporary files exposed. Tables would be the easiest way to load & save the data (directly), but I can't work out how to save a table to an array of bytes so that I can encrypt it in memory (& convert it back afterwards). I suppose I could parse the whole table into an array & then parse it back again later on, but that means a whole round of custom header writing & slow processing of the table to & fro. Is there a better way?