unity JsonUtility和BinaryFormatter区别
时间: 2023-06-20 17:03:52 浏览: 229
untiy操作json,比unity自带的jsonUtils好用多了
Unity中的`JsonUtility`和`BinaryFormatter`都是用来序列化和反序列化数据的工具,但它们有以下区别:
1. 数据格式不同:`JsonUtility`序列化后的数据是一个JSON字符串,而`BinaryFormatter`序列化后的数据是二进制的。
2. 可读性不同:由于`JsonUtility`序列化后的数据是一个JSON字符串,因此它具有可读性,可以直接在文本编辑器中查看和编辑。而`BinaryFormatter`序列化后的数据是一堆二进制数据,不可读。
3. 序列化效率不同:`BinaryFormatter`的序列化和反序列化速度较快,因为它直接将对象转换为二进制数据。而`JsonUtility`的序列化和反序列化速度相对较慢,因为它需要将对象转换为JSON字符串并解析JSON字符串。
4. 序列化精度不同:`JsonUtility`序列化后的数据精度更高,因为JSON字符串可以保留浮点数的小数点后面的位数,而`BinaryFormatter`不能。
综上所述,`JsonUtility`适合序列化和反序列化可读性较高、精度要求较高的数据,例如配置文件;`BinaryFormatter`适合序列化和反序列化性能要求较高、可读性要求不高的数据,例如游戏中的网络数据传输。
阅读全文