好球员,我从询问如何转换字节数组人看到的问题int,string,Stream,等...而这些问题的答案都不同,我曾亲自没有发现任何令人满意的答案.
所以这里有一些我们想要将字节数组转换为的类型.
UnityEngine.Font哪个可以接收ttf数据.
UnityEngine.Testure2D其中H可采取数据从如图片文件.png,.jpg等...
我们将如何转换为字节数组到String,UnityEngine.Testure2D,UnityEngine.Font,Bitmap,等...
填充字节数组的数据必须来自一个文件类型,其数据可以通过我们要将字节数组转换为的类型来管理?
这目前可能吗?
任何帮助,将不胜感激.
D S*_*ley 33
原始类型很容易,因为它们具有定义的表示形式作为字节数组.其他对象不是因为它们可能包含无法持久化的内容,例如文件句柄,对其他对象的引用等.
您可以尝试使用BinaryFormatter以下方法将对象持久化为字节数组:
public byte[] ToByteArray<T>(T obj)
{
if(obj == null)
return null;
BinaryFormatter bf = new BinaryFormatter();
using(MemoryStream ms = new MemoryStream())
{
bf.Serialize(ms, obj);
return ms.ToArray();
}
}
public T FromByteArray<T>(byte[] data)
{
if(data == null)
return default(T);
BinaryFormatter bf = new BinaryFormatter();
using(MemoryStream ms = new MemoryStream(data))
{
object obj = bf.Deserialize(ms);
return (T)obj;
}
}
Run Code Online (Sandbox Code Playgroud)
但并非所有类型都可序列化.例如,没有办法"存储"与数据库的连接.您可以存储用于创建连接的信息(如连接字符串),但不能存储实际的连接对象.