c sharp把byte数组转换为string数组
时间: 2023-11-21 09:04:50 浏览: 34
可以使用System.Text.Encoding类中的GetString方法将byte数组转换为string。示例代码如下:
byte[] byteArr = { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 };
string str = System.Text.Encoding.UTF8.GetString(byteArr);
Console.WriteLine(str);
输出结果为:Hello World
相关问题
C sharp 将object 序列化位byte 数组
你可以使用.NET中的BinaryFormatter类将C#中的Object对象序列化为byte数组。以下是一个示例代码:
```csharp
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public static byte[] SerializeObject(object obj)
{
if (obj == null)
return null;
BinaryFormatter formatter = new BinaryFormatter();
using (var memoryStream = new MemoryStream())
{
formatter.Serialize(memoryStream, obj);
return memoryStream.ToArray();
}
}
```
该方法接受一个Object对象作为参数,并使用BinaryFormatter将其序列化为一个MemoryStream。最后,它将MemoryStream转换为一个byte数组并将其返回。
C sharp 将object 序列化位byte 数组,不使用BinaryFormatter
可以使用Json.NET来实现C#中对象的序列化为byte数组,代码示例如下:
```
using Newtonsoft.Json;
using System.Text;
//定义一个对象
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
//将对象序列化为byte数组
public byte[] Serialize(Person person)
{
string json = JsonConvert.SerializeObject(person);
return Encoding.UTF8.GetBytes(json);
}
//将byte数组反序列化为对象
public Person Deserialize(byte[] data)
{
string json = Encoding.UTF8.GetString(data);
return JsonConvert.DeserializeObject<Person>(json);
}
```
需要注意的是,使用Json.NET进行序列化时,对象的属性必须是公开的可读可写的属性。