Сохранение произвольного массива байтов в виде строки

У меня есть куча данных, которые мне нужно сериализовать в строку для хранения в KVP. У меня есть тонны ints, bools, а также floats, Я беру каждый, BitConverter это в byte[] что я Buffer.BlockCopying в один большой byte[],

Мне нужно сохранить этот большой массив байтов в виде строки в KeyValuePair<string, string>, Я пытался с помощью Encoding.ASCII.GetString() с большой byte[] Я создал, а затем попытался перезагрузить свой уровень с помощью строкового кода, достигнутого с помощью Encoding.ASCII.GetBytes(),

m_LevelCode = Encoding.ASCII.GetString( bytes );

Массив байтов имеет тонны 0, так что я думаю, поэтому мой m_LevelCode строка является пустой строкой

Есть ли лучший подход к тому, что я пытаюсь сделать? У меня есть около 650 байтов integers, booleans, а также floats, Мне нужно, чтобы они были сохранены в строку. Еще один шаг, я хотел бы объединить 5 из них в один KVP для экономии на отдельных ключах, так как каждая область имеет 5 уровней.

1 ответ

Решение

Есть много способов преобразовать байты в строку

string base64 = Convert.ToBase64String(bytes);

string hex = BitConverter.ToString(bytes);

var jss = new JavaScriptSerializer();
string json = jss.Serialize(bytes);

где bytes это байтовый массив.

Другие вопросы по тегам