Сохранение произвольного массива байтов в виде строки
У меня есть куча данных, которые мне нужно сериализовать в строку для хранения в 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
это байтовый массив.