Обычно вы сохраняете текстовые данные в строку, а двоичные данные в byte[]
. Не пытайтесь хранить двоичные данные в строке, применяя произвольную кодировку. Например, если вы попытаетесь использовать Encoding.UTF8.GetString(binaryData)
, весьма вероятно, что вы не сможете вернуть исходные данные еще раз.
Если вам нужно хранить двоичные данные в строке, вы должны использовать что-то вроде Convert.ToBase64String
(а затем Convert.FromBase64String
), в котором хранятся 3 байта двоичных данных на каждые 4 символа в строке.
Если вам необходимо сохранить данные в виде строки и типа исходных данных, вам следует либо сохранить тип отдельно, либо сохранить составную форму, например «type: data». Примеры строк могут быть:
int:10
string:10 // The digits 1 and 0, but originally as text, not a number
binary:hFed234= // Base-64-encoded data