将任意字节数组保存为字符串

时间:2016-09-12 22:52:25

标签: c# bytestring

我有一堆数据需要序列化为字符串以存储在KVP中。我有大量的intsboolsfloats。我把每一个,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个字节的integersbooleansfloats。我需要将它们保存为字符串。更进一步,我想用逗号将其中的5个分成单个KVP以保存单个键,因为每个区域都有5个级别。

1 个答案:

答案 0 :(得分:0)

有很多方法可以将字节转换为字符串

string base64 = Convert.ToBase64String(bytes);

string hex = BitConverter.ToString(bytes);

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

其中bytes是字节数组。